好的,所以我这样做(不是实际的代码)
try {
final View view = LayoutInflater.from(context).inflate(R.layout.ownComponent, null);
} catch (InflateExpection e) {
}
if (view != null) {
// This child is null about 5/10 times!
View child = view.findViewById(R.id.ownComponentChild);
}
我读到膨胀之后不能保证儿童观点被夸大了,那么当所有孩子都准备就绪时,获得回调的方法是什么呢?
答案 0 :(得分:1)
也许我误解了你要做的事情,但看起来你正在夸大View
而不是布局......
尝试
View view = LayoutInflater.from(context).inflate(R.layout.LAYOUT_THAT_HOLDS_ownComponent, this, true);
然后视图将保留整个布局,您可以通过
从中找到子项view.findViewById(...);
修改强>
很难知道它是否相关,因为你没有发布足够的代码,但试试这个:
从try / catch中获取View view
并将其作为类成员。松开决赛并投下孩子。
示例(假设ownComponentChild是FrameLayout):
FrameLayout child = (FrameLayout)view.findViewById(R.id.ownComponentChild);
答案 1 :(得分:0)
这似乎是随机发生的,所以我唯一的猜测就是在这种情况下内存越来越低,因为我必须快速重新创建这么多的UI组件才能重现。