2014-02-23 40 views
2

我爲包含碎片的應用程序使用導航抽屜。我也在使用動作圖標。但是當我使用抽屜改變活動時,動作圖標出現在所有活動上。我只想要在其中一個片段上。這是我的代碼如何在片段上顯示動作欄圖標?

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

The method onCreateOptionsMenu(Menu, MenuInflater) in the type Fragment is not applicable for the arguments (Menu) HomeFragment.java /Snatsh/src/com/colourity/snatsh line 29 Java Problem

The method getMenuInflater() is undefined for the type HomeFragment HomeFragment.java /Snatsh/src/com/colourity/snatsh line 27 Java Problem

The method onCreateOptionsMenu(Menu) of type HomeFragment must override or implement a supertype method HomeFragment.java /Snatsh/src/com/colourity/snatsh line 25 Java Problem

+0

它的動作條東西......你不能擁有它一個活動,而不是另一個。 – user2511882

+0

那麼Kik怎麼做呢? http://imgur.com/jIdhlBu,FzOhJzN#0 http://imgur.com/jIdhlBu,FzOhJzN#1 我相信這是可能的@ user2511882 – user3342131

+0

噢,你的意思是不同的圖標? – user2511882

回答

1

你指南3210缺少參數,試試這個來代替:

@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; 
+0

我得到兩個錯誤。 '方法onCreateOptionsMenu(菜單,MenuInflater)在類型片段是不適用的參數(菜單)'\t 而 '的返回類型是Fragment.onCreateOptionsMenu(菜單,MenuInflater)不兼容' – user3342131

+0

我改變了我的代碼,實際上這個函數沒有返回布爾值。它應該不會在'Fragment'上返回任何內容。 –

+0

感謝迄今。現在我沒有任何錯誤,但圖標不顯示。 – user3342131

相關問題