2016-06-08 4 views
-1

У меня есть пользовательский ListView. Каждый элемент внутри этого ListView содержит ImageView, два TextViews и CheckBox. Ниже приведен снимок экрана из списка.Как получить идентификатор ListView при проверке CheckBox?

Screenhot

Я захвата, когда пользователь нажимает на CheckBox с пропущено ниже, однако, мне нужно _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 
     } 
    } 
}); 

Однако, с помощью этого метода единственным параметром, который я получаю, является «View v».

Я пробовал поиск, но я только нахожу примеры того, как установить этот флажок, если щелкнуть на элементе ListView.

Как я могу получить _id при щелчке CheckBox? Любая помощь приветствуется. Спасибо!

+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 
     ... 
    } 
} 
} 

Это должно позволить вам работать с идентификаторами. Надеюсь, что это работает.

Смежные вопросы