Android - Can't see the menu option at a fragment layout

让人想犯罪 __ 提交于 2019-12-25 12:55:07

问题


I've bumped into something I don't understand.

I'm using the next layout XML code -

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

As you can see it only contains a WebView.

Now I've created a class as follows:

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);



     }

}

}

Also I've made the next menu xml file -

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

Now the weird thing is that when I'm running the app I can't see the menu button at all. I've used this code before at a diffrent fragment and all was fine.

Just to be clear this fragment is shown aftr a click at a Navigation Drawer, so there's an action bar where the menu button should be shown.

Any one have an idea why isn't this working?

Thanks for any kind of help.


回答1:


Call

setHasOptionsMenu(true);

in onCreate().



来源:https://stackoverflow.com/questions/23448144/android-cant-see-the-menu-option-at-a-fragment-layout

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!