我知道自从我到处寻找答案以来,这个问题已经被问了好几次了,但遗憾的是,我没有找到答案,主要是因为似乎没有人使用 Android 的基础类来进行 Fragments &相反,他们都使用 Sherlock Fragment Class。
所以首先,我没有使用任何 Sherlock Activity 的东西或 Android 支持库。我只是使用默认的 Fragment 类:
import android.app.Fragment
import android.view.Menu
import.android.view.MenuItem
import.android.view.View
//& so on...
这是我的 Fragment 中的 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 也在同一个片段内
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 必须覆盖或实现超类型方法。
因此,如果有人有任何可以解决此问题的想法,我将不胜感激!
非常感谢!