【发布时间】:2015-01-01 23:34:45
【问题描述】:
我有一个包含 FragmentA 的 MainActivity。当我点击 FragmentA 时,会发生这种情况:
getFragmentManager().beginTransaction().replace(R.id.container,new PrefFragment()).addToBackStack("back").commit();
我的清单中有这个:
<activity>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
这在 MainActivity:
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 android.R.id.home:
getFragmentManager().popBackStack();
Toast.makeText(getActivity(),"CLick",Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
此代码不运行。 我只需要在 FragmentB 中实现向上导航。我该怎么做?
【问题讨论】:
-
getInstance of action bar in that fragment and setDisplayHomeAsUpEnabled 为 false
标签: java android android-fragments android-studio