0
正如你可以在下面的代碼中看到的,當我在ListView中的一個項目LongClick時,我得到一個彈出菜單選項來操縱項目(刪除,更新等)。ListView - onContextItemSelected操縱項目,而不是toString
問題是我在item.toString上使用了我的函數,而不是項目本身。 我該如何獲得物品本身,並將其作爲我的功能中的一個參數?
onCreateContextMenu:
public void onCreateContextMenu(final ContextMenu menu, final View v, final ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
if (v.getId() == R.id.db_list_view) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_list, menu);
}
}
onContextItemSelected:
public boolean onContextItemSelected(android.view.MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
Object obj = lv.getItemAtPosition(info.position);
String nameToString = obj.toString();
if (item.getTitle().equals("Delete")) {
deletePlayerFromLongClick(nameToString);
} else if (item.getTitle().equals("Update")) {
updatePlayerFromLongClick(nameToString);
} else if (item.getTitle().equals("Change Host/Guest")) {
changeMembership(nameToString);
}
return true;
}
你能更具體嗎?在這種情況下**我的適配器**是什麼? – GuyShoham
@ user8465954你必須使用適配器爲你的listview權利?或者你可以嘗試一下Pavneet_Singh的建議。 –
@Pavneet_Singh是啊,這可能會更方便和簡單:) –