FragmentAdapterとViewPageへの参照を保持するMainActivityがあります。このアクティビティでは、2つのフラグメントをリストに追加し、次にこのリストをFragmentAdapterに追加します。
fragments.add(Fragment.instantiate(this, Fragment1.class.getName()));
fragments.add(Fragment.instantiate(this, Fragment2.class.getName()));
これで、これら2つのフラグメントをうまくスライドさせることができます。実際、どちらもListFragmentsです。各フラグメントには、多くのアイテムがリストされています。
アイテムごとにクリックホールドするとメニューアイテムが表示されます。
発生する問題は、Fragment1で、Fragment1public boolean onContextItemSelected(MenuItem item)
内で正常に呼び出されることです(このフラグメント内にブレークポイントが追加されました)。
Fragment2で同じテストを実行すると、Frag2からではなく、Frag1からのブレークポイントが呼び出されます。そして、明らかに、Frag1からのデータはFrag2に表示されます。
誰もがこれを見たことがありますか?
私は次のように両方のフラグメントでメニューをインスタンス化します。
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(Menu.NONE, R.id.share, Menu.NONE, getString(R.string.share));
menu.add(Menu.NONE, R.id.delete, Menu.NONE, getString(R.string.delete_all));
}
よろしく、フェリペ