詹子聪 5 年 前
コミット
22d5803483

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -20,6 +20,7 @@
 
         <activity android:name=".AActivity"/>
         <activity android:name=".BActivity"/>
+        <activity android:name=".CActivity"/>
     </application>
 
 </manifest>

+ 6 - 3
app/src/main/java/com/miekir/newmvp/AActivity.java

@@ -5,6 +5,7 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.View;
+import android.widget.TextView;
 
 import com.miekir.mvp.presenter.DataMethod;
 import com.miekir.mvp.presenter.InjectViewModel;
@@ -29,6 +30,9 @@ public class AActivity extends BaseMVPActivity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        TextView tv_name = findViewById(R.id.tv_name);
+        tv_name.setText("AActivity");
+
         findViewById(R.id.view_test).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -37,11 +41,10 @@ public class AActivity extends BaseMVPActivity {
             }
         });
 
-        findViewById(R.id.view_test).setOnLongClickListener(new View.OnLongClickListener() {
+        findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() {
             @Override
-            public boolean onLongClick(View v) {
+            public void onClick(View v) {
                 startActivity(new Intent(AActivity.this, BActivity.class));
-                return false;
             }
         });
     }

+ 12 - 0
app/src/main/java/com/miekir/newmvp/BActivity.java

@@ -1,9 +1,11 @@
 package com.miekir.newmvp;
 
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.View;
+import android.widget.TextView;
 
 import com.miekir.mvp.presenter.DataMethod;
 import com.miekir.mvp.presenter.InjectViewModel;
@@ -28,6 +30,9 @@ public class BActivity extends BaseMVPActivity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        TextView tv_name = findViewById(R.id.tv_name);
+        tv_name.setText("BActivity");
+
         findViewById(R.id.view_test).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -35,6 +40,13 @@ public class BActivity extends BaseMVPActivity {
                 viewModel1.go();
             }
         });
+
+        findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                startActivity(new Intent(BActivity.this, CActivity.class));
+            }
+        });
     }
 
 

+ 49 - 0
app/src/main/java/com/miekir/newmvp/CActivity.java

@@ -0,0 +1,49 @@
+package com.miekir.newmvp;
+
+
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.TextView;
+
+import com.miekir.mvp.presenter.DataMethod;
+import com.miekir.mvp.presenter.InjectViewModel;
+import com.miekir.mvp.view.model.BaseMVPActivity;
+
+import java.util.List;
+
+public class CActivity extends BaseMVPActivity implements ICView {
+    @InjectViewModel
+    TestViewModel1 viewModel1;
+
+    @Override
+    public int getLayoutID() {
+        return R.layout.activity_main;
+    }
+
+    @Override
+    public void initViews(Bundle savedInstanceState) {
+
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        TextView tv_name = findViewById(R.id.tv_name);
+        tv_name.setText("CActivity");
+
+        findViewById(R.id.view_test).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                viewModel1.go();
+            }
+        });
+    }
+
+
+    @DataMethod
+    @Override
+    public void onDataCome(int code, String msg, List<TestBean1> data) {
+        Log.e("tttttbbbb", data.get(0).getName());
+    }
+}

+ 14 - 0
app/src/main/java/com/miekir/newmvp/ICView.java

@@ -0,0 +1,14 @@
+package com.miekir.newmvp;
+
+import java.util.List;
+
+/**
+ * Copyright (C), 2019-2020, Miekir
+ *
+ * @author Miekir
+ * @date 2020/10/15 10:47
+ * Description:
+ */
+public interface ICView {
+    void onDataCome(int code, String msg, List<TestBean1> data);
+}

+ 8 - 4
app/src/main/java/com/miekir/newmvp/MainActivity.java

@@ -1,8 +1,10 @@
 package com.miekir.newmvp;
 
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
+import android.widget.TextView;
 import android.widget.Toast;
 
 import com.miekir.mvp.presenter.DataMethod;
@@ -28,6 +30,9 @@ public class MainActivity extends BaseMVPActivity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        TextView tv_name = findViewById(R.id.tv_name);
+        tv_name.setText("MainActivity");
+
         findViewById(R.id.view_test).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -35,13 +40,12 @@ public class MainActivity extends BaseMVPActivity {
             }
         });
 
-        /*findViewById(R.id.view_test).setOnLongClickListener(new View.OnLongClickListener() {
+        findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() {
             @Override
-            public boolean onLongClick(View v) {
+            public void onClick(View v) {
                 startActivity(new Intent(MainActivity.this, AActivity.class));
-                return false;
             }
-        });*/
+        });
     }
 
 

+ 22 - 9
app/src/main/res/layout/activity_main.xml

@@ -1,19 +1,32 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:context=".MainActivity"
-    android:id="@+id/view_test">
+    android:orientation="vertical"
+    android:gravity="center_horizontal">
 
     <TextView
+        android:id="@+id/tv_name"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="Hello World!"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+        android:layout_marginBottom="16dp"
+        android:layout_marginTop="16dp"/>
 
-</androidx.constraintlayout.widget.ConstraintLayout>
+    <Button
+        android:id="@+id/btn_test"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="跳到下一个界面"
+        android:layout_marginBottom="16dp"/>
+
+    <Button
+        android:id="@+id/view_test"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="耗时任务"
+        android:layout_marginBottom="16dp"/>
+
+
+</LinearLayout>

+ 4 - 1
mvp/src/main/java/com/miekir/mvp/view/BaseMVPFragment.java

@@ -2,7 +2,9 @@ package com.miekir.mvp.view;
 
 import android.os.Bundle;
 import android.text.TextUtils;
+import android.view.View;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.lifecycle.MutableLiveData;
 import androidx.lifecycle.Observer;
@@ -33,7 +35,8 @@ public abstract class BaseMVPFragment extends BaseFragment implements IView {
     private List<BasePresenter> mInjectPresenters;
 
     @Override
-    public  void onCreateViewFinished(@Nullable Bundle savedInstanceState) {
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
         onViewInit();
 
         // 查找回调方法