2015-06-20 7 views
0

У меня есть 2 списка в моей деятельности, и я хочу выделить элемент, выбранный с помощью адаптера в классе адаптера (one item from the both the list at a time), поэтому по умолчанию я хочу выбрать только один элемент списка списка, т.е. первый элемент списка и на основе клики на списке вид подсветки также должны измениться, что в обоих списках первый элемент подсвечивается в начале, а на элементе щелчок подчеркивает изменения.Как узнать, какой элемент списка списка выбран в android?

Моя проблема заключается в том, что когда я нажимаю в первом списке, элементы списка просмотра не должны выделяться, но выделяются почему?

Вот моя реализация:

Я инициализируюсь два адаптер переменного одного и тот же класса для два ListView

ListView list1= (ListView)finViewById(R.id.list1); 
CustomListview adapter= new CustomListview(this,item,"type(it is string)") 
list1.setAdapter(adapter); 
list1.setOnItemClickListener(new OnItemClickListener(){ 
@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
adapter.notifyDataSetChanged(); 
adapter.setSelectedItem(position); 
........ 
}); 

и в CustomListView классе адаптера я делаю следующее вместе с остальным код

if (position == mSelectedItem && choice.equals("Strintype")) { 
     tv.setTextColor(getContext().getResources().getColor(R.color.primary_dark)); 
    } else if (choice.equals("Stringtype")) { 
     tv.setTextColor(Color.BLACK); 
    } 

ответ

0

Вы используете позицию позиции, чтобы проверить, что выделить, если вы это сделаете, вы также выделите элемент в том же положении в списке 2; попробуйте использовать идентификатор элемента в позиции (очевидно, что еще нужно сделать больше) или используйте два разных адаптера для списков.

Можете ли вы опубликовать весь код для двух списков, включая адаптеры?

+0

это не будет, поскольку я даю условие, когда он проверяет 'type', который определяет, какой список составляет – silverFoxA

+0

. Необходимый код указан выше – silverFoxA

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