在自定义复合视图中添加侦听器的适当位置

时间:2017-01-10 13:25:55

标签: android listener android-custom-view

我可以在哪里添加侦听器以便始终添加,如果自定义视图是从xml创建的,或者是否被夸大,则无关紧要。

我尝试onFinishInflate,但只有在从xml布局创建视图时才会调用它。没有OnViewCreated或类似的东西我可以确定所有内部视图都已创建并且可以附加侦听器。

更新:典型的复合视图

public class CustomView  extends RelativeLayout{

//called directy
public CustomView(Context context) {
    super(context);
    initializeViews(context);
}

private void initializeViews(final Context context) {

    LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

     inflater.inflate(R.layout.myview_layout, this);
}

//called when used inside xml layout
public ChatView(Context context, AttributeSet attrs) {
    super(context, attrs);
    initializeViews(context);
}
//idem
public ChatView(Context context,
                          AttributeSet attrs,
                          int defStyle) {
    super(context, attrs, defStyle);

    initializeViews(context);
}

0 个答案:

没有答案