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