在Android中,onFinishInflate方法是View類中的一個(gè)方法,用于在View被inflate(填充)后調(diào)用。具體使用方法如下:
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();
// 在這里進(jìn)行View的初始化工作,比如查找子View,設(shè)置監(jiān)聽器等
// ...
}
// ...
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
// 查找子View
TextView textView = findViewById(R.id.text_view);
// 設(shè)置監(jiān)聽器
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 處理點(diǎn)擊事件
}
});
}
注意事項(xiàng):
onFinishInflate方法只會(huì)在View在XML布局文件中被inflate時(shí)調(diào)用,而不會(huì)在代碼中通過new關(guān)鍵字創(chuàng)建View時(shí)調(diào)用。
如果自定義View是通過在XML布局文件中使用的方式使用的,那么在布局文件中定義的屬性會(huì)在onFinishInflate方法調(diào)用之前為View設(shè)置好。
在onFinishInflate方法中進(jìn)行的操作應(yīng)該是輕量級(jí)的,不要在這里執(zhí)行耗時(shí)的操作,以免影響界面的響應(yīng)性能。