我们正在创建一个具有两个主要 View 的应用程序:sView 和 sViewSettings。如果按下 Android 后退按钮,我们需要一个 if 语句来检查当前 View 是否设置为 sView 设置,如果是,则调用 sView。
已经为后退按钮设置了一个监听器,只需要它调用 if 语句来检查当前 View 。
已经试过了 如果 (this.findViewById(android.R.id.content) == sViewSettings)
对此有什么想法吗?
感谢阅读, 特拉维斯
最佳答案
ID 为 android.R.id.content
的 View 是一个包含内容 View 的 FrameLayout
。试试这个:
ViewGroup contentFrame = (ViewGroup) findViewById(android.R.id.content);
if (contentFrame.getChild(0) == sViewSettings) { ... }
但是,我建议采用稍微不同的方法:使用 ViewSwitcher
(或任何类型的 ViewAnimator
)在两个主要 View 之间切换并在您的代码中跟踪正在显示的 View 。
编辑:如果您想单独加载布局,您可以为每个布局的 Root View 分配一个 ID(相同的 ID),然后使用 findViewById
直接检索内容 View 。
关于java - 获取当前设置的内容 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9164958/