我正在使用android v4抽屉切换来实现导航抽屉。
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.drawable.menu_logo, R.string.drawer_open,
R.string.drawer_close)
我的问题是,当我点击导航抽屉图标时,我打开了一个抽屉布局(列表)。如果我点击我导航到该片段的任何项目。这是我的代码。
case 1:
fragmentPopped = fragmentManager.popBackStackImmediate(
NewBikeSearchFragment.TAG, 0);
if (!fragmentPopped
&& fragmentManager
.findFragmentByTag(NewSearchFragment.TAG) == null) {
ft.setCustomAnimations(R.anim.grow_from_middle, R.anim.fade_out);
NewSearchFragment newfragment = new NewSearchFragment();
ft.replace(R.id.content_frame, newfragment,
NewSearchFragment.TAG);
ft.addToBackStack(NewSearchFragment.TAG);
ft.commit();
}
对于该片段导航,我想将R.drawable.menu_logo
更改为后退图标。我搜索了一些教程和示例,但我没有成功。您能否在V4
中了解如何完成此任务?
答案 0 :(得分:1)
请尝试致电
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
来自你的片段的
如果还不够,请添加此行
getActivity().getActionBar().setHomeAsUpIndicator(R.drawable.ic_back_button);
答案 1 :(得分:0)
public static boolean isHomeFragment = true;
在Fragment中编写此代码
MainActivity.actionBar.setDisplayHomeAsUpEnabled(true);
MainActivity.actionBar.setHomeAsUpIndicator(R.drawable.ic_action_navigation_arrow_back);
MainActivity.isHomeFragment = false;
在Home Fragment中编写此代码
MainActivity.isHomeFragment = true;
MainActivity.actionBar.setDisplayHomeAsUpEnabled(true);
MainActivity.actionBar.setHomeAsUpIndicator(R.drawable.menu_logo);
在mainactiviity中写下这个逻辑。这很完美。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
if (isHomeFragment) {
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
}
else
{
onBackPressed();
}
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}