findViewById在自定义视图中从XML实例化 - 布局何时可用

时间:2013-07-19 15:37:35

标签: android xml layout view custom-controls

带有自定义视图组和子项的

some_layout.xml
<com.github.espiandev.showcaseview.ShowcaseView
        xmlns:android="http://schemas.android.com/apk/res/android"
        style="@style/ShowcaseView">
    <include
        layout="@layout/showcase_button"
        android:id="@id/showcase_button"/>
</com.github.espiandev.showcaseview.ShowcaseView>

ShowcaseView.java - 何时可以在自定义视图组中访问R.id.showcase_button

private Button mEndButton;

public ShowcaseView(Context context) {
    this(context, null, R.styleable.CustomTheme_showcaseViewStyle);
}

public ShowcaseView(Context context, AttributeSet attrs) {
    this(context, attrs, R.styleable.CustomTheme_showcaseViewStyle);
}

public ShowcaseView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    // cannot be found at this stage, returns null
    mEndButton = (Button) findViewById(R.id.showcase_button);
}

我应该覆盖哪种View或ViewGroup方法,或者我应该观察哪些事件?

  • 在一个Activity中,视图在setContentView之后变为可用,但是从XML文件构造的自定义视图的生命周期是什么?
  • findViewById(R.id.showcase_button)成功的最早点是什么,以便分配字段?

0 个答案:

没有答案