use*_*321 22 android android-layout
谁/什么叫onFinishInflate()?无论我如何夸大我的布局文件(在代码中),这种方法似乎永远不会被触发.任何人都可以给我一个例子或告诉我什么时候onFinishInflate()实际上被调用?
ant*_*nyt 37
View.onFinishInflate()
在视图(及其子元素)从XML中膨胀后调用.具体来说,就是要在通话过程中LayoutInflater.inflate(...)
是onFinishInflate()
会被调用.从根开始递归地执行通货膨胀.包含儿童的视图可能需要知道其孩子何时完成充气.此回调的主要用途之一是在ViewGroups
子进程准备好后执行特殊操作.
假设你有一个View
被调用的子类CustomView
,并且它不会在内部膨胀任何布局本身.如果你CustomView
的布局中有某个地方,即:
...
<com.company.CustomView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
...
Run Code Online (Sandbox Code Playgroud)
onFinishInflate()
一旦它被夸大,你应该看到一个回调.如果这是您活动的主要布局,那么您可以考虑在Activity.setContentView(int)
调用之后.在内部,这将调用LayoutInflater.inflate(...)
.
或者,如果您创建了一个实例CustomView
:
...
new CustomView(context);
...
Run Code Online (Sandbox Code Playgroud)
......你不会接到电话onFinishInflate()
.以这种方式实例化它自然意味着它没有子节点,因此它不必等待它们以递归方式实例化,如在XML膨胀中.
归档时间: |
|
查看次数: |
12796 次 |
最近记录: |