I made custom listview in 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>
A part of my activity:
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);
}
...
}
How I can get events from each CheckBox? For example, if user click on checkbox, program must get event from third item's CheckBox, and turn on alarm.
在列表中使用Custom Adaptor
,并在Custom Adaptor
的getView()
方法中为复选框设置侦听器,例如参见Android ListView Example或本 示例 。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.