【问题标题】:Android - Can't see the menu option at a fragment layoutAndroid - 在片段布局中看不到菜单选项
【发布时间】:2014-06-20 07:39:02
【问题描述】:

我碰到了一些我不明白的东西。

我正在使用下一个布局 XML 代码 -

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/faq_webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

如您所见,它只包含一个 WebView。

现在我创建了一个类,如下所示:

public class FaqFrag extends Fragment{



public FaqFrag(){}

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);


}

@SuppressLint("SetJavaScriptEnabled")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View v = inflater.inflate(R.layout.faq_lay, container, false);
    WebView wv = (WebView) v.findViewById(R.id.faq_webview);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.loadUrl("http://www.something.com");



    return v;
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // TODO Auto-generated method stub
    inflater.inflate(R.menu.faq_menu, menu);
    super.onCreateOptionsMenu(menu, inflater);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

     switch (item.getItemId()) {

     case R.id.send_feedback:

            Intent email = new Intent(Intent.ACTION_SEND);
            email.putExtra(Intent.EXTRA_EMAIL, new String[]{"botnapp@gmail.com"});        

            email.setType("message/rfc822");
            startActivity(Intent.createChooser(email, "Choose an Email client :"));

         return true;

     default:
        return super.onOptionsItemSelected(item);



     }

}

}

我还制作了下一个菜单 xml 文件 -

    <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

  <item android:id="@+id/send_feedback"
          android:icon="@drawable/send_feedback_ico"
          android:title="@string/send_feedback_menu"
          android:showAsAction="ifRoom"/>

</menu>

现在奇怪的是,当我运行应用程序时,我根本看不到菜单按钮。 我之前在不同的片段中使用过这段代码,一切都很好。

为了清楚起见,这个片段是在点击导航抽屉后显示的,所以有一个操作栏应该显示菜单按钮。

有人知道为什么这不起作用吗?

感谢您的任何帮助。

【问题讨论】:

    标签: android android-fragments android-menu


    【解决方案1】:

    打电话

    setHasOptionsMenu(true);
    

    onCreate().

    【讨论】:

      猜你喜欢
      • 2021-06-25
      • 2013-12-08
      • 2011-06-26
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多