У меня есть CustomAdapter, который я использую для заполнения ListView некоторыми данными.
Каждый элемент в ListView имеет две переменные. Для каждого списка (в методе onItemClick) я должен проверить эти переменные и, если они одинаковы, выполнить некоторый код, а если они различны, выполнить другой код, например Toast.makeText(EPG.this, "Variables are different", Toast.LENGTH_SHORT).show();
.
Итак, я попробовал это:
private List<SomeItem> items = new ArrayList();
//items were created
SomeAdapter adapter = new SomeAdapter(this, R.layout.list_item, items);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
for(int i=0; i<=items.size(); i++) {
SomeItem item = items.get(position);
String tmpCI = item.getFirstVariable();
String tmpPCI = item.getecondVariable();
if (!tmpCI.equals(tmpPCI)) {
//some code
} else {
Toast.makeText(EPG.this, "Variables are different", Toast.LENGTH_SHORT).show();
}
}
}
});
Но все мои элементы списка имеют значения первого элемента в этих двух переменных.
Так, как я могу сделать что-то вроде item.next();
для проверки всех элементов в просмотре списка?
UPD:
Извините, я предоставлю больше информации о том, что я делаю после проверки переменных элементов списка, чтобы понять мою проблему.
У меня есть еще один адаптер:
SomeAnotherAdapter adapterPr = new SomeAnotherAdapter(this, R.layout.list_tem_another, itemsAnother);
и еще один просмотр списка:
listViewAnother.setAdapter(adapterPr);
Прежде всего я понял, что первая переменная должна быть из первого списка, а вторая переменная из другого списка.
В этом списке ViewAnother у меня много предметов, у которых есть некоторый "id". Например, 1-й, 5-й и 20-й элементы имеют идентификатор 90, а другие элементы имеют идентификатор 100.
Можно сказать, что элементы из первого списка также имеют «id».
Так что я должен проверить if(first variable = second variable)
, а затем показать в listViewAnother только элементы с идентификатором, равным идентификатору от выбранного элемента в listView.
Я попытался: adapterPr.remove(item2);
, но потом понял, что мне нужны все элементы, потому что я могу вернуться к listView и нажать другой элемент, для которого понадобятся эти удаленные элементы.
Теперь, надеюсь, я предоставил полную информацию, и вы сможете помочь мне улучшить мой код.