Android onFinishInflate メソッドの使い方
Androidでは、onFinishInflateメソッドはViewクラスのメソッドで、Viewのinflate(展開)後に呼び出されます。使い方は次のとおりです。
- カスタムViewクラスでonFinishInflateメソッドをオーバーライドします。コード例:
public class CustomView extends View {
// ...
public CustomView(Context context) {
super(context);
// ...
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
// ...
}
public CustomView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// ...
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
// 在这里进行View的初始化工作,比如查找子View,设置监听器等
// ...
}
// ...
}
- onFinishInflateメソッドでは、サブビューの検索やリスナーの設定など、いくつかのビューの初期化作業を実行できます。コードの例:
@Override
protected void onFinishInflate() {
super.onFinishInflate();
// 查找子View
TextView textView = findViewById(R.id.text_view);
// 设置监听器
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 处理点击事件
}
});
}
留意事項:
- onFinishInflateメソッドは、ViewがXMLレイアウトファイルでinflateされる際のみに呼び出され、NewのキーワードでViewが作成される際には呼び出されません。
- XMLレイアウトファイルで利用方法を介してカスタムビューが使用される場合、レイアウトファイルで定義された属性はonFinishInflateメソッドが呼び出される前にビューに設定されます。
- onFinishInflateメソッドで行う処理は軽量なものにして、ここで時間のかかる処理を実行して、画面の応答性に影響を与えないようにしましょう。