В Activity
меня есть два ListViews
но теперь я должен определить, на что нажал пользователь ListView
. Я добавил adapters
и setOnItemClickListener(this);
для каждого ListView
.
@Override
public void onItemClick(AdapterView<?> a, View v, int i, long l) {
switch (v.getId()) {
case R.id.list_1:
Toast.makeText(this, "111111111", 0).show();
break;
case R.id.list_2:
Toast.makeText(this, "222222222", 0).show();
break;
}
}
Но v.getId()
возвращает -1
используйте a.getId()
вместо v.getId()
я имею в виду использование AdapterView<?> a
switch (a.getId()) {
case R.id.list_1:
Toast.makeText(this, "111111111", 0).show();
break;
case R.id.list_2:
Toast.makeText(this, "222222222", 0).show();
break;
}
в onCreate(), получить ссылки на ваши списки:
listview1 = findViewById(R.id.list_1);
listview2 = findViewById(R.id.list_2);
то в onItemClicked()
вы можете протестировать следующим образом:
if (a == listview1){
//something
}
else if(a==listview2){
//something
}