2012-08-21 36 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