xmlでカスタムリストビューを作成しました
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
... />
<TextView
... />
<TextView
... />
<CheckBox
...
/>
</RelativeLayout>
私の活動の一部:
public class SPMMainActivity extends Activity {
private ArrayList <HashMap<String, Object>> myBooks;
private static final String KEY1 = "key1";
private static final String KEY2 = "key2";
private static final String KEY3 = "key3";
private static final String CHECK = "check";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spmmain);
schedule_listview = (ListView) findViewById(R.id.MainActivity_schedule);
myBooks = new ArrayList<HashMap<String,Object>>();
HashMap<String, Object> hm;
hm = new HashMap<String, Object>();
hm.put(KEY1, "1First");
hm.put(KEY2, "test");
hm.put(KEY3, "test2");
hm.put(CHECK, Boolean.FALSE);
myBooks.add(hm);
hm = new HashMap<String, Object>();
hm.put(KEY1, "Second");
hm.put(KEY2, "test3");
hm.put(KEY3, "test4 ");
hm.put(CHECK, Boolean.TRUE);
myBooks.add(hm);
SimpleAdapter adapter = new SimpleAdapter(this,
myBooks,
R.layout.mainactivity_schedule,
new String[]{
KEY1,
KEY2,
KEY3,
CHECK
},
new int[]{
R.id.text1,
R.id.text2,
R.id.text3,
R.id.checkBox1}
);
schedule_listview.setAdapter(adapter);
schedule_listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
registerForContextMenu(schedule_listview);
}
...
}
各 CheckBox からイベントを取得するにはどうすればよいですか? たとえば、ユーザーがチェックボックスをクリックした場合、プログラムは 3 番目のアイテムの CheckBox からイベントを取得し、アラームをオンにする必要があります。