2017-01-17 26 views
1

xmlにカスタムツールバーを追加して、それをフラグメントのActionbarとして追加しました。 タイトルからメニューまでは何も表示されません。唯一のアクションバーには、ここで タイトル、フラグメント内のActionBarにメニュー項目が表示されない

は私のXMLコード

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 



    <!-- Must be last for right layering display --> 
    <FrameLayout 
     android:id="@+id/toolbar_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar2" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="@color/colorPrimary" /> 

    </FrameLayout> 

</FrameLayout> 

されており、こちらをクリックしてください、私はBottombarオンMainActivityでフラグメントと呼ばれるこれらのコードでは、私のJavaコード

public class searchView extends Fragment{ 

    Toolbar search; 
    MaterialSearchView search_view; 
    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.search_view,container,false); 
     FrameLayout layout = (FrameLayout) inflater.inflate(R.layout.search_view, container, false); 

     search = (Toolbar)layout.findViewById(R.id.toolbar2); 
     ((AppCompatActivity) getActivity()).setSupportActionBar(search); 
     ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle("Contacts"); 
     setHasOptionsMenu(true); 

     return v; 
    } 
} 

で表示されている

else if (position==1){ 
        searchView f = new searchView(); 
        getSupportFragmentManager().beginTransaction().replace(R.id.framelayout,f).commit(); 
       } 
       return true; 
+0

を表示します。あなたのフラグメントを呼び出すアクティビティクラスのコードをペーストできますか? –

答えて

1
Toolbar search; 
MaterialSearchView search_view; 
@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.search_view,container,false); 
    setHasOptionsMenu(true); 
    search = (Toolbar)v.findViewById(R.id.toolbar2); 
    ((AppCompatActivity) getActivity()).setSupportActionBar(search); 
    ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle("Contacts"); 

    return v; 
} 

}

活動上のMenuItemを追加することができ、私はあなたにお勧めしますオプションメニューオーバーライド

@Override 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
     super.onCreateOptionsMenu(menu, inflater); 
    //add your menu here; 
    } 
+0

私はlayout.findviewbyid LOLを使っていた理由を忘れていました。その時、v.findviewbyidを使っていくつかのエラーwhuleを与えていました。 – Doge

関連する問題