2012-08-21 66 views
0

我正在开发一个应用程序,我有一个ListActivity,它的选择模式设置为choice_mode_multiple。现在我想覆盖方法,当一个项目是选中/取消选中时调用,并且我发现onCheckChanged()方法仅适用于RadioGroup和复合Button。我如何在ListActivity中覆盖这样的内容?还是我必须实施我自己的Adapter?谢谢android listactivity onCheckedChangeListener

回答

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 
} 

       } 
      }); 
+0

谢谢你。现在我明白了:)) – 2012-08-21 10:11:58

0

如果您使用标准阵列适配器和SINGLE或MULTIPLE选择模式,请使用isItemChecked(int位置)或setItemChecked(int位置,布尔值)。 http://developer.android.com/reference/android/widget/AbsListView.html#isItemChecked(int

此外,你可以创建自定义适配器和充气行布局与复选框,可以容纳onClickListener和CheckedChangedListener。 使用搜索查找示例。

+0

我应该在onItemClick中调用isItemChecked? – 2012-08-21 10:06:32

+0

是的,看看下面的代码。 – 2012-08-21 10:09:25