Java 获取当前设置的内容视图
我们正在创建一个包含两个主要视图的应用程序:sView和sViewSettings。如果按下Android后退按钮,我们需要一个If语句来检查当前视图是否设置为sView设置,如果设置为sView设置,则调用sView 已经为back按钮设置了侦听器,只需要它调用if语句来检查当前视图 已经试过了 if(this.findViewById(android.R.id.content)==sViewSettings) 有什么想法吗 谢谢你的阅读,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
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-这取决于您如何捕捉“后退”按钮。有关更多信息,请参阅和文档。