java - 如何在 fragment 上显示操作栏图标?

标签 java android xml android-fragments

我正在为包含 fragment 的应用程序使用抽屉导航。我也在使用 Action 图标。但是当我使用抽屉更改 Activity 时,操作图标出现在所有 Activity 上。我只想在其中一个 fragment 上使用它。这是我的代码

package com.colourity.snatsh;

import com.colourity.snatsh.R;
import java.util.ArrayList;
import com.colourity.snatsh.adapter.NavDrawerListAdapter;
import com.colourity.snatsh.model.NavDrawerItem;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;


public class HomeFragment extends Fragment {

    public HomeFragment(){}

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment_home, container, false);

        return rootView;
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu items for use in the action bar
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }
}

当我在我的 HomeFragment 中尝试时,它似乎不起作用。 Here是我正在使用的指南。

编辑:

在我的 HomeFragment

中尝试指南时出现以下错误

Fragment 类型中的方法 onCreateOptionsMenu(Menu, MenuInflater) 不适用于参数 (Menu) HomeFragment.java/Snatsh/src/com/colourity/snatsh line 29 Java Problem

方法 getMenuInflater() 未定义类型 HomeFragment HomeFragment.java/Snatsh/src/com/colourity/snatsh line 27 Java Problem

HomeFragment 类型的 onCreateOptionsMenu(Menu) 方法必须覆盖或实现父类(super class)型方法 HomeFragment.java/Snatsh/src/com/colourity/snatsh line 25 Java Problem

最佳答案

您的 onCreateOptionsMenu 缺少一个参数,试试这个:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // Inflate the menu items for use in the action bar
    inflater.inflate(R.menu.main, menu);
}

并添加额外的导入(如果没有自动完成):

import android.view.MenuInflater;

关于java - 如何在 fragment 上显示操作栏图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21962656/

相关文章:

java - float .NaN == float .NaN

java - 使用 lombok 为一个字段添加两个不同的 setter

java - 物体没有停在目标位置

ruby-on-rails - 在 XML 响应中返回错误消息

asp.net - 在 XML 文档中存储等号 (=)

java - 如何从 Volley 请求响应中解析大型 JsonArray

android - RxJava。顺序执行

android - Xposed - 无法 Hook 静态方法

java - 如何防止Java将XML文件中的 "&"改为 "&"

android - 使用 startActivityForResult() 的代码流