は私がフラグメント内部が、それは文脈活性よりコンテキストのアプリケーションを使用することをお勧めします、私はgetActivity()を使用することが怖いと言っ http://developer.android.com/resources/articles/avoiding-memory-leaks.html を読んだ後に、新たなオプションメニューを作成しています。()アクティビティから新しいmenuInflaterまたはgetMenuInflater()を作成しますか?
のでgetMenuInflaterを、実際にはこれより良い
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
MenuInflater mInflater = new MenuInflater(getActivity().getApplicationContext());
mInflater.inflate(R.menu.simple_menu, menu);
}
または1つのコールアクティビティ
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
MenuInflater mInflater = getActivity().getMenuInflater();
mInflater.inflate(R.menu.simple_menu, menu);
}
と、「日の両者の違いは何ですか?または両方が同じですか?
ありがとうございました。
ええ、それはmenuInflater "取得" よりも多くのメモリを食べるようになるように "新しい" menuInflaterサウンドを作成... と私は、別のクラスにmenuInflatorを渡さないと、フラグメント化されたクラスではなくフラグメントクラス内で呼び出すので、私がgetMenuInflatorを呼び出すと "別のクラスからmenuInflatorを呼び出せません" ? –
@ GAO-tsukaiこの方法についてご質問がありませんでした。それに応じて私の答えを更新しました。 – spatulamania
ありがとう、今私は本当にアンドロイドのソースを見る必要があると感じる... –