java在片段上实现向上导航
我有一个包含片段a的主要活动。当我单击FragmentA时,会发生以下情况:
getFragmentManager().beginTransaction().replace(R.id.container,new PrefFragment()).addToBackStack("back").commit();
我的舱单上有:
<activity>
<meta-data
安卓:name="安卓.support.PARENT_ACTIVITY"
安卓:value="com.example.myfirstapp.MainActivity" />
</activity>
在主要活动中:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_head_sound);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new FragmentA)
.commit();
}
getActionBar().setDisplayHomeAsUpEnabled(true);
}
但“向上”按钮导航始终可见
FragmentB包含以下代码:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id=item.getItemId();
switch (id)
{
case 安卓.R.id.home:
getFragmentManager().popBackStack();
Toast.makeText(getActivity(),"CLick",Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
此代码不运行。 我只需要在FragmentB中实现向上导航。我该怎么做
# 1 楼答案
据我所知,上行导航必须仅在FragmentB中工作,而如果显示FragmentA,上行导航将被隐藏。如果是这样,那么在活动中,从
onCreate
中删除getActionBar().setDisplayHomeAsUpEnabled(true);
此外,在处理菜单单击时必须返回true,并将OnOptions ItemSelected(MenuItem)移动到自android以来的活动。R.id.主菜单单击仅传递到活动
支离破碎
支离破碎