なぜこれが起こっているのか、一生理解できません。ABS のサンプル コード (リストビュー以外では正常に動作します) を調べ、オンラインで検索し、手順を正しく実行しましたが、それでも奇妙なバグがいくつかあります。
onCreate() の間に、次のコードを呼び出します。
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
registerForContextMenu(view);
openContextMenu(view);
return true;
}
});
アイテムを長押しすると、何らかの理由で次のようになります。
- (6行目)
openContextMenu()
View.showContextMenu()
AbsListView.showContextMenuForChild()
- (6行目)に戻る
openContextMenu()
クリックリスナーを設定していますが、クリックすると新しいアクティビティが開くため、何にも影響しないはずです。
完全を期すために、コンテキスト メニューの作成を次に示します。
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
if (v.getId() == R.id.lvFines) {
menu.add("One");
menu.add("Two");
menu.add("Three");
menu.add("Four");
}
}
ActionBarSherlock の間違った「サポート」機能を使用していますか?