Selaa lähdekoodia

提交1.0.7版本,添加自定义dialog中注解

yanyi 5 vuotta sitten
vanhempi
commit
da33eb8931

+ 8 - 3
README.md

@@ -3,9 +3,9 @@
 ### 使用方法
 
 module 下添加
-
-    implementation 'com.yanyi.benyanyi:viewbind:1.0.6'
-    
+~~~
+implementation 'com.yanyi.benyanyi:viewbind:1.0.7'
+~~~
 ### 使用方法
 
 在Activity中添加
@@ -20,6 +20,10 @@ ViewBind.bind(view, this);
 ~~~
 ViewBind.bind(view);
 ~~~
+在Dialog中添加
+~~~
+ViewBind.bind(this)
+~~~
 绑定id
  ~~~
 @BindView(R.id.xxx)
@@ -36,6 +40,7 @@ isCheckNet 点击事件网络监听,默认为false,点击事件时不判断
 netErrorMsg 网络状态报错提醒,isCheckNet为关闭状态时无反应,默认为“网络错误”,可以自己自定义提醒的值
  ~~~
 ### 更新记录
+* 2020-05-07 更新1.0.7版本,添加在自定义dialog中使用注解
 * 2020-04-15 更新1.0.6版本,去除ClickNet注解,将ClickNet注解功能添加至OnClick,并添加能否短时间重复点击判断,添加BindString注解
 * 2019-06-26 更新1.0.4版本,去除重复方法
 * 2019-06-12 更新1.0.2版本, 方法优化,更改包名,统一开源库包名

+ 1 - 1
app/build.gradle

@@ -29,6 +29,6 @@ dependencies {
     androidTestImplementation 'com.android.support.test:runner:1.0.2'
     androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
 //    implementation project(':viewbind')
-    implementation 'com.yanyi.benyanyi:viewbind:1.0.5-base'
+    implementation 'com.yanyi.benyanyi:viewbind:1.0.7'
 }
 

+ 2 - 1
app/src/main/java/com/mylove/bindviewlib/IndexActivity.java

@@ -33,7 +33,8 @@ public class IndexActivity extends AppCompatActivity {
 
     @OnClick(value = R.id.but, isDoubleClick = true, isCheckNet = true, netErrorMsg = "没有连接网络")
     public void onClick() {
-        Log.v("测试", "点击");
+//        Log.v("测试", "点击");
 //        Toast.makeText(this, "测试", Toast.LENGTH_SHORT).show();
+        new TestDialog(this).show();
     }
 }

+ 44 - 0
app/src/main/java/com/mylove/bindviewlib/TestDialog.java

@@ -0,0 +1,44 @@
+package com.mylove.bindviewlib;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.view.View;
+import android.widget.Button;
+import android.widget.Toast;
+
+import com.benyanyi.viewbind.ViewBind;
+import com.benyanyi.viewbind.annotation.BindView;
+import com.benyanyi.viewbind.annotation.OnClick;
+
+/**
+ * @author YanYi
+ * @date 2020/05/07 10:26
+ * @email ben@yanyi.red
+ * @overview
+ */
+public class TestDialog extends Dialog {
+    @BindView(R.id.but)
+    private Button but;
+
+    public TestDialog(@NonNull Context context) {
+        super(context);
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.dialog_test);
+        ViewBind.bind(this);
+        but.setText("哈哈哈");
+    }
+
+    @OnClick(R.id.but)
+    private void onClick(View view) {
+        if (view.getId() == R.id.but) {
+            Toast.makeText(this.getContext(), "哈哈哈", Toast.LENGTH_SHORT).show();
+        }
+    }
+
+}

+ 13 - 0
app/src/main/res/layout/dialog_test.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <Button
+        android:id="@+id/but"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="测试" />
+
+</LinearLayout>

+ 1 - 1
viewbind/bintrayUpload.gradle

@@ -7,7 +7,7 @@ def siteUrl = 'http://www.yanyis.space/yanyi/bindviewlib' // 项目主页。
 def gitUrl = 'http://www.yanyis.space/yanyi/bindviewlib.git' // Git仓库的url。
 
 group = "com.yanyi.benyanyi"// 唯一包名,比如compile 'com.ansen.http:okhttpencapsulation:1.0.1'中的com.ansen.http就是这里配置的。
-version = "1.0.6"//项目引用的版本号,比如compile 'com.ansen.http:okhttpencapsulation:1.0.1'中的1.0.1就是这里配置的。
+version = "1.0.7"//项目引用的版本号,比如compile 'com.ansen.http:okhttpencapsulation:1.0.1'中的1.0.1就是这里配置的。
 install {
     repositories.mavenInstaller {
         // This generates POM.xml with proper parameters

+ 5 - 0
viewbind/src/main/java/com/benyanyi/viewbind/ViewBind.java

@@ -1,6 +1,7 @@
 package com.benyanyi.viewbind;
 
 import android.app.Activity;
+import android.app.Dialog;
 import android.view.View;
 
 import com.benyanyi.viewbind.init.ViewInit;
@@ -26,6 +27,10 @@ public class ViewBind {
         bind(new ViewInit(view), object);
     }
 
+    public static void bind(Dialog dialog) {
+        bind(new ViewInit(dialog), dialog);
+    }
+
     private static void bind(ViewInit inject, Object object) {
         ViewInject.injectFiled(inject, object);
         ViewInject.injectString(inject, object);

+ 10 - 0
viewbind/src/main/java/com/benyanyi/viewbind/init/ViewInit.java

@@ -1,6 +1,7 @@
 package com.benyanyi.viewbind.init;
 
 import android.app.Activity;
+import android.app.Dialog;
 import android.support.annotation.IdRes;
 import android.support.annotation.StringRes;
 import android.view.View;
@@ -14,6 +15,7 @@ import android.view.View;
 public class ViewInit {
     private Activity mActivity;
     private View mView;
+    private Dialog mDialog;
 
     public ViewInit(Activity mActivity) {
         this.mActivity = mActivity;
@@ -23,9 +25,15 @@ public class ViewInit {
         this.mView = mView;
     }
 
+    public ViewInit(Dialog mDialog) {
+        this.mDialog = mDialog;
+    }
+
     public View find(@IdRes int value) {
         if (mActivity != null) {
             return mActivity.findViewById(value);
+        } else if (mDialog != null) {
+            return mDialog.findViewById(value);
         } else {
             return mView.findViewById(value);
         }
@@ -34,6 +42,8 @@ public class ViewInit {
     public String string(@StringRes int value) {
         if (mActivity != null) {
             return mActivity.getString(value);
+        } else if (mDialog != null) {
+            return mDialog.getContext().getString(value);
         } else {
             return mView.getContext().getString(value);
         }