AppCompatViewInflater
类在View
膨胀过程中执行以下方法:
private void checkOnClickListener(View view, AttributeSet attrs) {
Context context = view.getContext();
if (context instanceof ContextWrapper && (VERSION.SDK_INT < 15 || ViewCompat.hasOnClickListeners(view))) {
TypedArray a = context.obtainStyledAttributes(attrs, sOnClickAttrs);
String handlerName = a.getString(0);
if (handlerName != null) {
view.setOnClickListener(new AppCompatViewInflater.DeclaredOnClickListener(view, handlerName));
}
a.recycle();
}
}
如果在XML布局文件中找到DeclaredOnClickListener
属性,它将替换View
类设置的已经存在的onClick
。
但是,两个DeclaredOnClickListener
类似乎是相同的。
那么设置一个新的目的是什么?