私はフラグメントをツールバーに戻したいです。私はこのコードを書こうとしています:((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
前へ戻る矢印内の矢印
しかし、AS書き込み:メソッドinvokation .. "java.lang.NullPointerException"を生成することがあります。どうすればgetSupportActionBar()、書き込みはメソッドを解決できません。どうしましたか?ここに私のコードはあります:
public class AddFilterFrag extends android.app.Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.add_filter_layout, container, false);
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
return rootView;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.fragment_menu, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
//something to do
return true;
}
return super.onOptionsItemSelected(item);
}
フラグメントを含むアクティビティで有効にしてホームボタンを設定する必要があります。 –
app compatアクティビティ内で使用されているプラットフォームのフラグメントがあるようです。通常は、2つを混在させないでください。 App互換ライブラリのフラグメントは、アプリケーション互換ライブラリの動作で使用されます。 –