Forráskód Böngészése

提交1.0.9版本,添加空id判断

yanyi 4 éve
szülő
commit
3fc57c6919

+ 3 - 2
README.md

@@ -6,13 +6,13 @@
 ~~~
 repositories {
         maven {
-            url "http://maven.yanyi.online:8081/nexus/content/repositories/mylove/"
+            url "http://maven.benyanyi.com:8081/nexus/content/repositories/mylove/"
         }
     }
 ~~~
 ### module 下添加
 ~~~
-implementation 'com.yanyi.benyanyi:BindView:1.0.8'
+implementation 'com.yanyi.benyanyi:BindView:1.0.9'
 ~~~
 
 或者
@@ -56,6 +56,7 @@ isCheckNet 点击事件网络监听,默认为false,点击事件时不判断
 netErrorMsg 网络状态报错提醒,isCheckNet为关闭状态时无反应,默认为“网络错误”,可以自己自定义提醒的值
  ~~~
 ### 更新记录
+* 2020-06-13 更新1.0.9版本,添加空id判断
 * 2020-05-18 更新1.0.8版本,将android support转成androidx支持,并将Maven库存放到个人服务器上
 * 2020-05-07 更新1.0.7版本,添加在自定义dialog中使用注解
 * 2020-04-15 更新1.0.6版本,去除ClickNet注解,将ClickNet注解功能添加至OnClick,并添加能否短时间重复点击判断,添加BindString注解

+ 1 - 1
viewbind/bintrayUpload.gradle

@@ -25,4 +25,4 @@ uploadArchives {
         }
     }
 }
-//gradlew bintrayUpload    terminal中输入
+//gradlew uploadArchives    terminal中输入

+ 5 - 5
viewbind/proguard-rules.pro

@@ -23,7 +23,7 @@
 #-optimizationpasses n
 
 -keep class com.benyanyi.viewbind.*
--keep class com.benyanyi.viewbind.**{*;}
+-keep class com.benyanyi.viewbind.*{*;}
 -keep class com.benyanyi.viewbind.annotation.*
 -keep class com.benyanyi.viewbind.init.*
 -keep class com.benyanyi.viewbind.inject.*
@@ -33,11 +33,11 @@
 
 -keepclassmembers class com.benyanyi.viewbind.annotation.*{*;}
 
--keepclassmembers class com.benyanyi.ViewBind.ViewBind.**{*;}
+-keepclassmembers class com.benyanyi.ViewBind.ViewBind.*{*;}
 
--keep class com.benyanyi.ViewBind.ViewBind {
-    public <methods>;
-}
+#-keep class com.benyanyi.ViewBind.ViewBind {
+#    public <methods>;
+#}
 -keepattributes Signature
 
 # 对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆

+ 13 - 7
viewbind/src/main/java/com/benyanyi/viewbind/inject/ViewInject.java

@@ -29,13 +29,17 @@ public class ViewInject {
             if (bindView != null) {
                 int value = bindView.value();
                 View view = inject.find(value);
-                //能够注入所有修饰符
-                field.setAccessible(true);
-                try {
-                    //动态注入找到view
-                    field.set(object, view);
-                } catch (Exception e) {
-                    e.printStackTrace();
+                if (view == null) {
+                    throw new NullPointerException(value + " is null id");
+                } else {
+                    //能够注入所有修饰符
+                    field.setAccessible(true);
+                    try {
+                        //动态注入找到view
+                        field.set(object, view);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
                 }
             }
         }
@@ -80,6 +84,8 @@ public class ViewInject {
                         boolean doubleClick = onClick.isDoubleClick();
                         if (view != null) {
                             view.setOnClickListener(new ViewBindClickListener(method, object, netErrorMsg, isCheckNet, doubleClick));
+                        } else {
+                            throw new NullPointerException(value + "is null id");
                         }
                     }
                 }