2016-06-08 21 views
-1

我目前有一個自定義的ListView。該ListView中的每個項目都包含一個ImageView,兩個TextViews和一個CheckBox。以下是該列表的截圖。如何在CheckBox被選中時獲取ListView ID?

Screenhot

我捕捉,當用戶點擊下面的剪斷的複選框,但是,我需要被檢查項目的_id。

// Get the CheckBox view 
CheckBox routine_quick = (CheckBox) view.findViewById(R.id.checkBox_quick); 

// Set checked value depending on the database results 
if (cursor.getInt(cursor.getColumnIndexOrThrow("quick")) == 1) { 
    routine_quick.setChecked(true); 
} else { 
    routine_quick.setChecked(false); 
} 

// Create onClickListener 
routine_quick.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     if (((CheckBox) v).isChecked()) { 
      // ADD QUICK TO DATABASE 

     } else { 
      // REMOVE QUICK FROM DATABASE 
     } 
    } 
}); 

但是,用這種方法,我得到的唯一參數是「視圖v」。

我試過搜索,但我只找到如何設置複選框以單擊ListView時進行檢查的示例。

點擊CheckBox時如何獲得_id?任何幫助表示讚賞。謝謝!

+0

查看本教程.... http://android-pratap.blogspot.com/2015/01/recyclerview-with-checkbox-example.html –

回答

0
@Override 
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 

int id = buttonView.getId(); 

if(isChecked){ 
    switch(id){ 
     case R.id.sprint: 
     //add to database 
     ... 
    } 
} 
else{ 
    switch(id){ 
     case R.id.sprint: 
     //remove from database 
     ... 
    } 
} 
} 

這應該允許您使用ID's。希望它有效。

相關問題