onFinishInflate()永远不会被调用

谁/什么叫onFinishInflate()? 不pipe我如何膨胀我的布局文件(在代码中),这个方法似乎永远不会被触发。 任何人都可以给我一个例子,或者告诉我什么时候onFinishInflate()实际上被调用?

  • 在Android EditText中,如何从软键盘中删除建议栏?
  • 检测ListView中的TextView是否被椭圆化
  • android有可能在一个ScrollView中放置一个约束布局
  • Android分隔线颜色DatePicker对话框
  • 以编程方式设置RelativeLayout布局参数 - 抛出ClassCastException
  • 没有调用ArrayAdapter的getView()方法
  • 如何克服这个项目填充导航抽屉?
  • 如何在canvas上的现有矩形顶部添加矩形
  • View.onFinishInflate()在视图(及其子项)从XML中被调用后调用。 具体来说,在调用LayoutInflater.inflate(...) ,会调用onFinishInflate() 。 通货膨胀是从根开始recursion执行的。 一个包含孩子的观点可能需要知道孩子什么时候完成充气。 这个callback函数的一个主要用途是ViewGroups一旦孩子准备好就执行特殊的动作。

    假设您有一个名为CustomViewView的子类,并且它不会在内部自动膨胀任何布局。 如果你的布局中有一个CustomView ,例如:

     ... <com.company.CustomView android:layout_width="wrap_content" android:layout_height="wrap_content" /> ... 

    一旦膨胀,您应该看到onFinishInflate()的callback。 如果这是您的主要活动布局,那么可以在调用Activity.setContentView(int)之后考虑这个问题。 在内部,这将调用LayoutInflater.inflate(...)

    或者,如果您使用以下方法创build了CustomView的实例:

     ... new CustomView(context); ... 

    …你不会打电话给onFinishInflate() 。 以这种方式来实例化它自然意味着它没有孩子,因此它不必等待它们以recursion方式被实例化,如在XML通货膨胀中。