私はいつもそれをやったのと同じ方法でコードをやっています & どこが間違っているのかわかりません:
@Override
public void onCreate(){
...
this.registerForContextMenu(lv);
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu_device_item_remove, menu);
}
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/context_menu_item_remove_id"
android:title="Remove" />
<item android:id="@+id/context_menu_item_clear_all_id"
android:title="Clear all" />
</menu>
ご覧のとおり、効果は次のとおりです。
AdapterContextMenuInfo.position の使用が原因で、3 番目または 4 番目の要素をクリックするとアプリがクラッシュします。
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
System.out.println("## info.position: "+info.position);
...
これに遭遇したことがありますか?& どうやって逃げたの?