package kr.com.ssu.faromi;
import java.util.ArrayList;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.ToggleButton;
public class DetailScheduleActivity extends ListActivity {
private int i;
private ArrayList<ScheduleDTO> list;
private DetailScheduleAdapter adapter;
private ListView view;
private TextView tviewDPlace;
private TextView tviewAPlace;
private TextView tviewDTime;
private TextView tviewATime;
private ToggleButton togglebtnAlarm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.detail_schedule_layout);
schedNo = getIntent().getIntExtra("schedNo", -1);
list = new ArrayList<ScheduleDTO>();
view = getListView();
view.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
view.setDivider(new ColorDrawable(Color.BLACK));
view.setDividerHeight(1);
adapter = new DetailScheduleAdapter(this, R.layout.detail_schedule_layout, list);
setListAdapter(adapter);
view.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int position, long id) {
// TODO Auto-generated method stub
Log.i("T.T", "여기안옴");
}
});
}
private class DetailScheduleAdapter extends ArrayAdapter<ScheduleDTO> {
private ArrayList<ScheduleDTO> list;
public DetailScheduleAdapter(Context context, int textViewResourceId,
ArrayList<ScheduleDTO> list) {
super(context, textViewResourceId, list);
this.list = list;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.detail_schedule_view, null);
}
dto = list.get(position);
if (dto != null) {
tviewDPlace = (TextView) v.findViewById(R.id.tviewDPlace);
tviewAPlace = (TextView) v.findViewById(R.id.tviewAPlace);
tviewDPlace.setSelected(true);
tviewAPlace.setSelected(true);
tviewDTime = (TextView) v.findViewById(R.id.tviewDTime);
tviewATime = (TextView) v.findViewById(R.id.tviewATime);
togglebtnAlarm = (ToggleButton) v.findViewById(R.id.togglebtnAlarm);
togglebtnAlarm.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
togglebtnAlarm.setBackgroundDrawable(getResources().getDrawable(R.drawable.alarmon));
System.out.println("켜짐");
}
else{
togglebtnAlarm.setBackgroundDrawable(getResources().getDrawable(R.drawable.alarmoff));
System.out.println("꺼짐");
}
}
});
if (tviewDPlace != null) {
tviewDPlace.setText(dto.getdPlace());
}
if (tviewAPlace != null) {
tviewAPlace.setText(dto.getaPlace());
}
if (tviewDTime != null) {
tviewDTime.setText(dto.getdTime());
}
if (tviewATime != null) {
tviewATime.setText(dto.getaTime());
}
}
return v;
}
}
}
불필요한 코드는 빼서 머가 없어서 오류가 나는건 아니구요..
오류는 안납니다.
중요한건 안드로이드에서 제공하는 ListActivity 상속 받아서 ListView 사용했구요..
xml에서도 android:id="@android:id/list" 사용했습니다..
이렇게 똑같은 형태로 다른 액티비티에서도 리스트뷰를 사용했는데
다 클릭이 되는데 이거만 안됩니다...왜그럴까요..
(프로젝트 클린도 해봤습니다,..)