-1

なぜこれが起こっているのか、一生理解できません。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 の間違った「サポート」機能を使用していますか?

4

1 に答える 1