android listactivity onCheckedChangeListener

时间:2012-08-21 09:21:12

标签: android listview

我正在开发一个应用,我有一个ListActivity,其选择模式设置为choice_mode_multiple。现在我想覆盖方法,当一个项目选中/取消选中时调用该方法,我发现onCheckChanged()方法仅针对RadioGroup和compund {实现{1}}。我怎样才能在Button中覆盖这样的内容?或者我是否必须实施自己的ListActivity?感谢

2 个答案:

答案 0 :(得分:0)

如果使用标准数组适配器和SINGLE或MULTIPLE选择模式,请使用isItemChecked(int position)或setItemChecked(int position,boolean value)。 http://developer.android.com/reference/android/widget/AbsListView.html#isItemChecked(int

此外,您可以创建自定义适配器并使用可以保存onClickListener和CheckedChangedListener的复选框来扩展行布局。 使用搜索查找示例。

答案 1 :(得分:0)

将onlistitemclick监听器设置为listview,然后在itemclick方法中可以获取mylistView.getCheckedItemCount(),编写要执行的操作的代码。

如果不清楚,请在检查项目时告诉我您要实施的内容。

mylistView = (ListView)customView.findViewById(R.id.mylist);
mylistView.setAdapter(mFolderAdapter);

mylistView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);


mylistView.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> arg0, View v,
                        int arg2, long arg3) {
                    // TODO Auto-generated method stub



                        if(mylistView.isItemChecked(arg2)){

  //Dooperation

                            } 
// or 
if(mylistView.getCheckedItemCount()>1){
  //Dooperation
}

                }
            });