Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取当前设置的内容视图_Java_Android_View_Get - Fatal编程技术网

Java 获取当前设置的内容视图

Java 获取当前设置的内容视图,java,android,view,get,Java,Android,View,Get,我们正在创建一个包含两个主要视图的应用程序:sView和sViewSettings。如果按下Android后退按钮,我们需要一个If语句来检查当前视图是否设置为sView设置,如果设置为sView设置,则调用sView 已经为back按钮设置了侦听器,只需要它调用if语句来检查当前视图 已经试过了 if(this.findViewById(android.R.id.content)==sViewSettings) 有什么想法吗 谢谢你的阅读, Travis带有idandroid.R.id.con

我们正在创建一个包含两个主要视图的应用程序:sView和sViewSettings。如果按下Android后退按钮,我们需要一个If语句来检查当前视图是否设置为sView设置,如果设置为sView设置,则调用sView

已经为back按钮设置了侦听器,只需要它调用if语句来检查当前视图

已经试过了 if(this.findViewById(android.R.id.content)==sViewSettings)

有什么想法吗

谢谢你的阅读,
Travis

带有id
android.R.id.content
的视图是一个保存内容视图的
FrameLayout
。试试这个:

ViewGroup contentFrame = (ViewGroup) findViewById(android.R.id.content);
if (contentFrame.getChild(0) == sViewSettings) { ... }
但是,我建议使用一种稍有不同的方法:使用一个(或任何类型的)在两个主视图之间切换,并在代码中跟踪显示哪一个主视图


编辑:如果要单独加载版面,可以为每个版面的根视图分配一个id(相同的id),然后直接使用
findViewById

检索内容视图,这可能会帮助您感谢ViewGroup代码工作得很好,不确定它到底是如何工作的,但确实如此。但是现在我有一个新问题。按下“后退”按钮时,视图会按应有的方式切换,但随后会立即关闭应用程序,知道如何禁用它吗?@TravisElliott-这取决于您如何捕捉“后退”按钮。有关更多信息,请参阅和文档。