如果我在一個片段中使用此代碼,如何從片段導航回活動?
ActionBar actionBar=((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true)
我得到一個錯誤。如果我在一個活動是,漢堡包圖標看起來像這樣
,但如果我在一個片段是,漢堡包圖標會自動變爲向後箭頭。
如果我在一個片段中使用此代碼,如何從片段導航回活動?
ActionBar actionBar=((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true)
我得到一個錯誤。如果我在一個活動是,漢堡包圖標看起來像這樣
,但如果我在一個片段是,漢堡包圖標會自動變爲向後箭頭。
如果你想添加的片段後退按鈕, 只是得到父活動與
getActivity()
再加入
android:parentActivity".YourActivityName"
這將按鈕添加回您的活動。
或者如果您嘗試自定義您的ActionBar,請確保您使用的是AppComaptActivity。
您使用導航抽屜嗎?
使用此在您的活動文件
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
如果你需要使用DrawerIndicator如果要更改,然後使用這個下面的代碼
mDrawerToggle.setDrawerIndicatorEnabled(true);
要禁用Drawerindicator
mDrawerToggle.setDrawerIndicatorEnabled(false);
基於點擊的Doggle按鈕
使用此代碼:
final View.OnClickListener originalToolbarListener = mDrawerToggle.getToolbarNavigationClickListener();
getActivity().getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
if (condition) {
mDrawerToggle.setDrawerIndicatorEnabled(false);
mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getActivity().getSupportFragmentManager().popBackStack();
}
});
} else {
toolbar.setTitle("");
mDrawerToggle.setDrawerIndicatorEnabled(true);
mDrawerToggle.setToolbarNavigationClickListener(originalToolbarListener);
}
}
});