android 如何获得多选框选中的值?

清澈@Cherry 2015-09-28 11:35:29
如何获得多选框选中的值?使用了listview,每个列表项表框一个显示的textview和一个checkbox,请问如何取得值呢?我使用了网上这位仁兄的办法,没有起作用,代码如下:
// 去掉相同的商品
List<Instrument> instList = APIDoc.getSystemDocCaptain()
.getInstrumentList();
listems = new ArrayList<Map<String, Object>>();
for (Instrument instrument : instList) {
Map<String, Object> listem = new HashMap<String, Object>();
listem.put("instrument", instrument.getInstrument());
listems.add(listem);
}

SimpleAdapter simplead = new SimpleAdapter(getApplicationContext(),
listems, R.layout.activity_systeminstrument_item,
new String[] { "instrument" },
new int[] { R.id.addsysteminstrument });

instrumentList = (ListView) findViewById(R.id.systeminstrumentlistview);
instrumentList.setAdapter(simplead);
// final ListView listView = getListView();
// listView.setItemsCanFocus(false);
instrumentList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

instrumentList.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
System.out.println("你点击了" + "************");
System.out.println("你点击了" + "************");
System.out.println("你点击了" + "************");
System.out.println("你点击了" + "************");
System.out.println("你点击了" + "************");
System.out.println("你点击了" + "************");
System.out.println("你点击了" + "************");

List list = new ArrayList();
SparseBooleanArray a = instrumentList.getCheckedItemPositions();
for (int i = 0; i < listems.size(); i++) {
if (a.valueAt(i)) {
Long val = instrumentList.getAdapter().getItemId(
a.keyAt(i));
System.out.println(val + "************");
System.out.println(val + "************");
System.out.println(val + "************");
System.out.println(val + "************");
System.out.println(val + "************");
System.out.println(val + "************");
System.out.println(val + "************");
System.out.println(val + "************");
list.add(instrumentList.getAdapter().getItemId(
(a.keyAt(i))));

}
}

for (Iterator i = list.iterator(); i.hasNext();) {
System.out.println(i.next());
}

}
});
...全文
392 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mlxg 2015-09-28
  • 打赏
  • 举报
回复
checkbox不是有事件监听吗
peter_nj_RD 2015-09-28
  • 打赏
  • 举报
回复
ListView.setOnItemClickListener(),重载这个监听器中的onItemClick()方法,里面会获得一个position变量,应该就是你想要的值

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧