如何获取Activity的内容视图?

teo*_*tik 276 android

我应该调用什么方法来了解一个Activity是否有contentView(一旦调用了setContentView()方法)?

小智 518

this.getWindow().getDecorView().findViewById(android.R.id.content)
Run Code Online (Sandbox Code Playgroud)

要么

this.findViewById(android.R.id.content)
Run Code Online (Sandbox Code Playgroud)

要么

this.findViewById(android.R.id.content).getRootView()
Run Code Online (Sandbox Code Playgroud)

  • `findViewById(android.R.id.content);`工作正常 (42认同)
  • 或者`getWindow().findViewById(android.R.id.content)`:) (4认同)
  • 如果使用`setContentView(R.layout.my_view)`从XML安装布局,则返回该布局的*parent*. (3认同)

pap*_*han 23

如果您在布局中添加ID,则可以返回视图.

<RelativeLayout
    android:id="@+id/my_relative_layout_id"
Run Code Online (Sandbox Code Playgroud)

并从findViewById调用它...

  • 你传给`findViewById`怎么样? (3认同)
  • @trans 查看 contentView = findViewById(R.id.my_relative_layout_id); (2认同)

mik*_*nes 11

怎么样

View view = Activity.getCurrentFocus();
Run Code Online (Sandbox Code Playgroud)


Wil*_*ate 10

你可能想试试View.getRootView().


Chr*_*ris 5

您还可以覆盖调用onContentChanged()时触发的其他内容setContentView().