SkinCompatViewInflater.java 文件源码

java
阅读 36 收藏 0 点赞 0 评论 0

项目:Android-skin-support 作者:
@NonNull
private void resolveMethod(@Nullable Context context, @NonNull String name) {
    while (context != null) {
        try {
            if (!context.isRestricted()) {
                final Method method = context.getClass().getMethod(mMethodName, View.class);
                if (method != null) {
                    mResolvedMethod = method;
                    mResolvedContext = context;
                    return;
                }
            }
        } catch (NoSuchMethodException e) {
            // Failed to find method, keep searching up the hierarchy.
        }

        if (context instanceof ContextWrapper) {
            context = ((ContextWrapper) context).getBaseContext();
        } else {
            // Can't search up the hierarchy, null out and fail.
            context = null;
        }
    }

    final int id = mHostView.getId();
    final String idText = id == View.NO_ID ? "" : " with id '"
            + mHostView.getContext().getResources().getResourceEntryName(id) + "'";
    throw new IllegalStateException("Could not find method " + mMethodName
            + "(View) in a parent or ancestor Context for android:onClick "
            + "attribute defined on view " + mHostView.getClass() + idText);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号