2016-09-15 11 views
0

私のアプリケーションでは、NoActionBarスタイルを使用しています。私のフラグメントの1つにアクションバーを追加したいと思います。活動にフラグメントのアクションバーとしてのツールバー

私はこのような操作を行うことができますフラグメントでこれを行う方法

public class MyActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_my); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 
} 

を?

私はそうしようとした:

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     setHasOptionsMenu(true); 
     super.onCreate(savedInstanceState); 
    } 

    @Override 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
     inflater.inflate(R.menu.menu_main, menu); 
     super.onCreateOptionsMenu(menu, inflater); 
    } 

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

     Toolbar actionBar = (Toolbar) getActivity().findViewById(R.id.my_app_bar); 
     ((AppCompatActivity) getActivity()).setSupportActionBar(actionBar); 

     return inflater.inflate(R.layout.fragment_training, container, false); 

    } 

をしかし、それは動作しません。

UPD 私はこのラインで問題を考える:

Toolbar actionBar = (Toolbar) getActivity().findViewById(R.id.my_app_bar); 
 
((AppCompatActivity) getActivity()).setSupportActionBar(actionBar);

+0

あなたは、さらにあなたが動作しないことで何を意味するか説明できますか?バーは現れませんか?何か間違いはありますか? – Fencer04

+0

バーが表示されない...ツールバー(フラグメントレイアウトのmy_app_bar)が表示されます。しかし、このツールバーはmain_menuの項目でいっぱいになっていません –

答えて

0

旧質問))、次のようになります。

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

    //Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.my_app_bar); 
    //((AppCompatActivity) getActivity()).setSupportActionBar(toolbar); 
    //return inflater.inflate(R.layout.fragment_training, container, false); 

    View v = inflater.inflate(r.layout.fragment_training, container, false); 
    Toolbar toolbar = (Toolbar) v.findviewbyid(r.id.my_app_bar); 
    ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar); 
    return v; 
} 
関連する問題