如果AppCompatViewInflater已经存在,为什么要设置一个新的OnClickListener?

时间:2019-05-07 22:18:19

标签: android android-layout android-appcompat layout-inflater appcompatactivity

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类似乎是相同的。 那么设置一个新的目的是什么?

0 个答案:

没有答案