答えを探して以来、この質問が何度も出されていることは知っていますが、悲しいことに、主に誰もフラグメント用の基本 Android クラスを使用していないように見えるという事実のために、答えを見つけることができませんでした &代わりに、すべて Sherlock Fragment Class を使用します。
まず第一に、私は Sherlock Activity や Android Support Library を使用していません。デフォルトの Fragment クラスを使用しています。
import android.app.Fragment
import android.view.Menu
import.android.view.MenuItem
import.android.view.View
//& so on...
これは私のフラグメント内の onCreateView です
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
ViewGroup root = (ViewGroup) inflater.inflate(R.layout.fragment1, null);
setHasOptionsMenu(true);
return root;
}
& これは onCreateOptionsMenu も同じ Fragment 内にあります
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getActivity().getMenuInflater();
menu.clear();
inflater.inflate(R.menu.fragment1_menu, menu);
//A lot of other code here
return super.getActivity().onCreateOptionsMenu(menu);
}
私の基本 Main FragmentActivity クラスには onCreateOptionsMenu 自体がありませんが、フラグメントに影響を与えるはずではないと思います。
また、onCreateOptionsMenu をオーバーライドできないようです。エラーは次のとおりです。onCreateOptionsMenu は、スーパータイプ メソッドをオーバーライドまたは実装する必要があります。
誰かがこれを解決できるアイデアを持っているなら、私は本当に感謝しています!
どうもありがとう!