java - 获取当前设置的内容 View

标签 java android view get

我们正在创建一个具有两个主要 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/

相关文章:

java - 在 Eclipse 和 Netbeans 之间共享项目

java - 渲染 : To draw-once or to re-draw? JOGL + Java2D + Java Swing 会很麻烦吗?

python - Django {% url %} NoReverseMatch

view - 插入到 Hive 中的 View 中

java - NullPointerException 和 BufferedReader

java - 在这种情况下如何扩展自定义布局并编辑 View ?

java - 如何允许 "/api/**"通过我的基本身份验证配置并进入 Spring Security 中的 oauth 配置

android - 绑定(bind)到已由广播接收器启动的服务会创建新的服务实例

android - React Native Android WebView 如何禁用水平滚动?

Android 全形按钮