7
我已經在這個網站上看到,如果我們想知道SelectedItem(.getSelectedItemPosition())的索引,就必須定製一個ListView的setOnItemSelectedListener和setOnItemClickListener。所以這就是我所做的,但它沒有存儲SekectedItem的位置,而是我總是-1 ...ListView setOnItemClickListener和setOnItemSelectedListener存儲選定的項目索引
我想要做的只是讓用戶從列表中刪除項目選中項目並單擊一個按鈕。
請參見下面的代碼:
listViewPeople.setOnItemClickListener(new ListView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int i, long l) {
try {
// Remembers the selected Index
listViewPeopleId = listViewPeople.getSelectedItemPosition();
}
catch(Exception e) {
System.out.println("Nay, cannot get the selected index");
}
}
});
listViewPeople.setOnItemSelectedListener(new ListView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> a, View v, int i, long l) {
try {
// Remembers the selected Index
listViewPeopleId = listViewPeople.getSelectedItemPosition();
System.out.println("Yay, set the selected index " + listViewPeopleId);
}
catch(Exception e) {
System.out.println("Nay, cannot get the selected index " + listViewPeopleId);
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
try {
// Remembers nothing selected
listViewPeopleId = -1;
System.out.println("Yay, set that nothing is selected " + listViewPeopleId);
}
catch(Exception e) {
System.out.println("Nay, cannot set that nothing is selected " + listViewPeopleId);
}
}
});
有什麼不對?
謝謝你的幫助!
克里斯托夫
太棒了!只需要將刪除方法更改爲: \t arrayPeople.remove(arrayPeople.get(listViewPeopleId)); – Christophe 2010-06-04 01:42:32