当前位置: 首页 > 知识库问答 >
问题:

Android-在片段布局中看不到菜单选项

萧越泽
2023-03-14

我碰到了一些我不明白的事情。

    <?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>
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 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>

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

谢谢你的帮助。

共有1个答案

伍耀
2023-03-14

呼叫

setHasOptionsMenu(true);

oncreate()中。

 类似资料:
  • 我是android新手,我将设计这种对我来说很复杂的布局。这是主_活动的代码。xml文件: 基本上,我的主要活动中有一个导航抽屉和3个选项卡。这是一张照片: 一切按我的意愿进行,我很高兴。 当我点击导航抽屉项目时,我开始了一个新的意图来打开一个新的活动,这很好,但抽屉当然会消失(因为新活动没有抽屉)。我想把抽屉一直放在屏幕上。 为了把抽屉放在屏幕上,我想我可以把上面XML的TabLayout作为一

  • 但是我不能在ChildFragment1、ChildFragment2、ChildFragment3中添加新的OptionMenu,因为从未调用子片段类的onCreateOptionsMenu(Menu Menu,MenuFlater MenuFlater)方法。

  • 我已经使用Android ADT几个星期了,我曾经通过转到:文件来创建新活动 当我选择“新建空白活动”并单击“下一步”时,会显示一个我必须填写的新表格,标题为“片段布局名称”。为什么这突然出现,有谁知道为什么我被迫创建一个片段布局,因为我甚至不想使用它。我还记得我的一个朋友说他大约一周前更新了他的SDK,他说他有同样的问题。我是否应该在XML文档加载后删除其中的片段,或者有没有一种方法可以禁用它,

  • 我有一个工具栏和一个导航抽屉。当我启动应用程序时,会创建工具栏和导航抽屉。当我单击导航抽屉中的项目时,它会启动新的片段并保留相同的工具栏。当我启动特定片段时,我基本上如何向工具栏添加菜单项,例如搜索、添加、编辑?我不希望在程序开始时使用它们,而是动态创建的。还有,我怎样才能点击这些按钮,让它们启动其他片段呢。我希望在一个片段中,与另一个片段中的编辑按钮相比,工具栏中的编辑按钮可以做特定的事情。谢谢

  • 我刚刚启动了一个Spring Boot项目版本2.1.6(使用启动器:spring boot starter web,spring BootStarter测试) 我正在尝试在版本4.7.1中使用cucumber for java,并带有以下maven依赖项:cucumber-Spring、cucumber-jUnit、cucumber-java8。 当我启动验收测试时,我看到日志上何时未定义步骤。

  • 在我的应用程序中,我有一个活动,其中包含一个FrameLayout。在这个FrameLayout中,有一个片段,包含一个ToolBar和一个RecyclView。 在这个工具栏中,我有一个搜索按钮,它应该在项目单击时启动活动。但是,当我尝试使用onOptionsItemSelected时,应用程序会成功构建和安装,但当我尝试点击该按钮时,什么也没发生。Logcat也没有说什么。 能告诉我我做错了什