0

我有一个使用 ActionBar(实际上是 ActionBarSherlock)的应用程序,其中包含两个片段,一个是列表,一个是详细信息片段。当设备处于纵向模式并且用户从列表视图单击到详细信息视图时,我在setHomeButtonEnabled详细信息视图上设置,因此用户可以单击应用图标返回列表(并且返回箭头会自动显示)。

当设备处于横向模式并且两个片段都显示在屏幕上时,我仍然看到 App Icon 旁边的后退箭头,这没有任何意义,因为没有什么可返回的。

不确定我是否需要在代码中做某事,因此后退箭头不会在横向模式下显示。

4

1 回答 1

0

好吧,通过将此代码添加到详细信息片段中,我能够得到我想要的结果。可能不理想,但它有效:

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    setHasOptionsMenu(true);

    if (getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE)
        this.getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    setRetainInstance(true);
}

更新:

发现这可能是一个更好的解决方案。它检测“详细信息”片段是否可见:

final DetailsFragment fragment = (DetailsFragment)getFragmentManager().findFragmentById(R.id.fragmentDetails);

if (fragment == null || fragment.isInLayout() == false)
    this.getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true);
于 2012-04-13T22:43:59.357 回答