如果我在片段中使用root.setFocusableInTouchMode(true)setHasOptionsMenu(true)不起作用

时间:2013-01-18 15:48:02

标签: android actionbarsherlock fragment

在我的片段

public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    root = (ViewGroup) inflater.inflate(R.layout.layout1, null);
    setHasOptionsMenu(true);
    activity = getActivity();

菜单功能正常工作,直到我添加一个onKeyListener。在我添加onKeyListener之后,菜单无法正常工作!!

public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    root = (ViewGroup) inflater.inflate(R.layout.layout1, null);
    setHasOptionsMenu(true);
    activity = getActivity();
    root.setFocusableInTouchMode(true);
    root.requestFocus();
    root.setOnKeyListener(onKey);
 .
 .
 .
 .
 OnKeyListener onKey = new OnKeyListener() {

    public boolean onKey(View arg0, int keyCode, KeyEvent arg2) {

    }
}

在片段中同时工作的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

您是否测试过在onCreate中调用setHasOptionsMenu?

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}