私はAndroidにアプリケーションを持っています、
このアプリケーションには、このイベントを持つ ListView があります。
ListView titulos = (ListView)findViewById(R.id.lv_titulos);
titulos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
position_item_selected = position;
switch (position){
case 0:
titulo = getString(R.string.Brands);
menu_contextual = rellenar_menu_contextual(brands);
break;
case 1:
titulo = getString(R.string.Collections);
menu_contextual = rellenar_menu_contextual(collections);
break;
case 2:
titulo = getString(R.string.References);
menu_contextual = rellenar_menu_contextual(references);
break;
case 3:
titulo = getString(R.string.Colours);
menu_contextual = rellenar_menu_contextual(colours);
break;
case 4:
titulo = getString(R.string.Sizes);
menu_contextual = rellenar_menu_contextual(sizes);
break;
}
registerForContextMenu(view);
openContextMenu(view);
unregisterForContextMenu(view);
}
});
これは、リストビューでアイテムをクリックし、それが表示するコンテキストメニューでアイテムをクリックすると正常に機能しますが、リストビューでアイテムをクリックし、コンテキストメニューが表示されたら、戻るボタンをクリックして戻ると、表示するには、リスト ビューのアイテムをもう一度クリックすることはできません。
他の項目をクリックして、コンテキスト メニューの項目をクリックすると、すべての項目が再び正常に動作します。
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle(titulo);
for (String aMenu_contextual : menu_contextual) menu.add(0, v.getId(), 0, aMenu_contextual);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info =
(AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
String[][] values;
switch (position_item_selected){
case 0:
values = new String[][] {{getString(R.string.Brand),item.toString()}};
brandSelec = item.toString();
collections(brands.get(item.toString()).toString());
break;
(...)
default:
values = new String[][] {};
}
final StableArrayAdapter adapter = new StableArrayAdapter(SearchArticle.this,values);
ListView titulos = (ListView)findViewById(R.id.lv_titulos);
titulos.setAdapter(adapter);
return true;
}
コンテキストメニューで戻るボタンを押すと、リストビューでアイテムがブロックされるのはなぜですか?
下手な英語でごめんなさい、ありがとう。