Android 在setContentView之后获取当前活动视图

Android 在setContentView之后获取当前活动视图,android,Android,当我单击listview的一个项目时,我正在使用一个带有onclickitemlistener的listview,它会使用setContentView更改视图(从view_list.xml到view_detail.xml) 我如何知道我当前对活动的看法(列表或详细信息) 在我的onBackPressed()中,如果我在视图详细信息中,我想切换到视图列表 如果我已经在视图列表布局中,我想完成()活动 public void onBackPressed() { if ( ?????? !==

当我单击listview的一个项目时,我正在使用一个带有onclickitemlistener的listview,它会使用setContentView更改视图(从view_list.xml到view_detail.xml)

我如何知道我当前对活动的看法(列表或详细信息)

在我的onBackPressed()中,如果我在视图详细信息中,我想切换到视图列表 如果我已经在视图列表布局中,我想完成()活动

public void onBackPressed() {
    if ( ?????? !== findViewById(R.id.view_list_id));
          setContentView(R.layout.view_list); 
    else
          finish();
    }
我可以使用一个活动,而不仅仅是改变布局,但我觉得它可以这样工作

谢谢

if ( null == findViewById(R.id.view_list_id));
    setContentView(R.layout.view_list); 
else{
    finish();
}

希望这是你想要的。这将检查视图是否包含id为
view\u list\u id
的视图,如果是,它将完成活动,否则将替换视图。正如建议所说,不建议采用这种方式

不要更改
活动的内容视图


如果您想拥有列表和详细信息页面,请改用。这还允许您将列表显示为平板电脑的侧窗格。

更好的方法是主/详细流程:

如果您将Eclipse与ADT一起使用,您可以很容易地实现它。只需使用主详细信息模板创建一个新项目

关于这方面的一些有用教程:


简而言之,不要这样做为什么不推荐?这正是Android引入
Fragment
s的原因。使用片段。因为片段管理器会为您处理backbackback,所以对您来说编码更少。