Commit 7de2a21bfd0fbae3fafe054b0d4c0e1cb3fadf23
1 parent
b22dc20a
优化基类
Showing
9 changed files
with
142 additions
and
15 deletions
app/strike/src/main/AndroidManifest.xml
app/strike/src/main/java/com/cnlive/strike/MyActivityTest1.java
0 → 100644
| 1 | +package com.cnlive.strike; | |
| 2 | + | |
| 3 | +import com.cnlive.libs.base.frame.activity.BaseActivity; | |
| 4 | + | |
| 5 | + | |
| 6 | +public class MyActivityTest1 extends BaseActivity { | |
| 7 | + | |
| 8 | + @Override | |
| 9 | + protected int initLayout() { | |
| 10 | + return R.layout.activity_my; | |
| 11 | + } | |
| 12 | + | |
| 13 | + @Override | |
| 14 | + protected void initView() { | |
| 15 | + getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new MyFragment1()).commitAllowingStateLoss(); | |
| 16 | + } | |
| 17 | + | |
| 18 | + @Override | |
| 19 | + protected void initData() { | |
| 20 | + } | |
| 21 | +} | ... | ... |
app/strike/src/main/java/com/cnlive/strike/MyFragment.java
| 1 | 1 | package com.cnlive.strike; |
| 2 | 2 | |
| 3 | 3 | |
| 4 | +import android.content.Intent; | |
| 4 | 5 | import android.os.Bundle; |
| 5 | 6 | import android.view.LayoutInflater; |
| 6 | 7 | import android.view.View; |
| ... | ... | @@ -14,21 +15,30 @@ import androidx.annotation.Nullable; |
| 14 | 15 | |
| 15 | 16 | |
| 16 | 17 | public class MyFragment extends BaseFragment<MyFragmentView, MyPresenter> { |
| 18 | + private View view; | |
| 19 | + | |
| 17 | 20 | @Nullable |
| 18 | 21 | @Override |
| 19 | 22 | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| 20 | - return inflater.inflate(R.layout.activity_main1, container, false); | |
| 23 | + view = inflater.inflate(R.layout.activity_main1, container, false); | |
| 24 | + return view; | |
| 21 | 25 | } |
| 22 | 26 | |
| 23 | 27 | @Override |
| 24 | 28 | protected void initView() { |
| 25 | 29 | setStatusBarColor(R.color.green, 0); |
| 26 | 30 | setStatusBarTextColor(StatusBarConfig.BLACK); |
| 31 | + view.findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() { | |
| 32 | + @Override | |
| 33 | + public void onClick(View v) { | |
| 34 | + getActivity().startActivity(new Intent(getActivity(), MyActivityTest1.class)); | |
| 35 | + } | |
| 36 | + }); | |
| 27 | 37 | } |
| 28 | 38 | |
| 29 | 39 | @Override |
| 30 | 40 | protected void initData() { |
| 31 | -// getPresenter().setData("hha"); | |
| 41 | + getPresenter().setData("hha"); | |
| 32 | 42 | getMvpView().setData("test"); |
| 33 | 43 | } |
| 34 | 44 | ... | ... |
app/strike/src/main/java/com/cnlive/strike/MyFragment1.java
0 → 100644
| 1 | +package com.cnlive.strike; | |
| 2 | + | |
| 3 | + | |
| 4 | +import android.content.Intent; | |
| 5 | +import android.os.Bundle; | |
| 6 | +import android.view.LayoutInflater; | |
| 7 | +import android.view.View; | |
| 8 | +import android.view.ViewGroup; | |
| 9 | + | |
| 10 | +import androidx.annotation.NonNull; | |
| 11 | +import androidx.annotation.Nullable; | |
| 12 | + | |
| 13 | +import com.cnlive.libs.base.frame.fragment.BaseFragment; | |
| 14 | +import com.cnlive.libs.base.util.StatusBarConfig; | |
| 15 | + | |
| 16 | + | |
| 17 | +public class MyFragment1 extends BaseFragment<MyFragment1View, MyPresenter1> { | |
| 18 | + private View view; | |
| 19 | + | |
| 20 | + @Nullable | |
| 21 | + @Override | |
| 22 | + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | |
| 23 | + view = inflater.inflate(R.layout.fragment_main1, container, false); | |
| 24 | + return view; | |
| 25 | + } | |
| 26 | + | |
| 27 | + @Override | |
| 28 | + protected void initView() { | |
| 29 | + setStatusBarColor(R.color.green, 0); | |
| 30 | + setStatusBarTextColor(StatusBarConfig.BLACK); | |
| 31 | + | |
| 32 | + | |
| 33 | + } | |
| 34 | + | |
| 35 | + @Override | |
| 36 | + protected void initData() { | |
| 37 | + getPresenter().setData1("dd"); | |
| 38 | + } | |
| 39 | + | |
| 40 | + | |
| 41 | +} | ... | ... |
app/strike/src/main/java/com/cnlive/strike/MyFragment1View.java
0 → 100644
| 1 | +package com.cnlive.strike; | |
| 2 | + | |
| 3 | +import android.util.Log; | |
| 4 | + | |
| 5 | +import com.cnlive.libs.base.frame.view.BaseView; | |
| 6 | + | |
| 7 | +public class MyFragment1View extends BaseView { | |
| 8 | +// private MyFragment fragment; | |
| 9 | +// | |
| 10 | +// /** | |
| 11 | +// * 可给可不给,看自己需要 | |
| 12 | +// * | |
| 13 | +// * @param fragment | |
| 14 | +// */ | |
| 15 | + public MyFragment1View(MyFragment1 fragment) { | |
| 16 | +// this.fragment = fragment; | |
| 17 | + Log.e(TAG, "MyFragment1View: " + fragment); | |
| 18 | + } | |
| 19 | + | |
| 20 | + public void setData1(String msg) { | |
| 21 | + Log.e(TAG, "setData1: "); | |
| 22 | + } | |
| 23 | +} | ... | ... |
app/strike/src/main/java/com/cnlive/strike/MyPresenter1.java
0 → 100644
app/strike/src/main/res/layout/activity_main1.xml
| ... | ... | @@ -15,5 +15,10 @@ |
| 15 | 15 | android:layout_height="wrap_content" |
| 16 | 16 | android:text="fragment" /> |
| 17 | 17 | |
| 18 | + <Button | |
| 19 | + android:id="@+id/btn_test" | |
| 20 | + android:layout_width="wrap_content" | |
| 21 | + android:layout_height="wrap_content" | |
| 22 | + android:text="测试view" /> | |
| 18 | 23 | </RelativeLayout> |
| 19 | 24 | </layout> |
| 20 | 25 | \ No newline at end of file | ... | ... |
app/strike/src/main/res/layout/fragment_main1.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | |
| 2 | +<layout> | |
| 3 | + | |
| 4 | + <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
| 5 | + xmlns:app="http://schemas.android.com/apk/res-auto" | |
| 6 | + xmlns:tools="http://schemas.android.com/tools" | |
| 7 | + android:layout_width="match_parent" | |
| 8 | + android:layout_height="match_parent" | |
| 9 | + android:orientation="vertical" | |
| 10 | + tools:context=".ui.activity.AllDeviceActivity"> | |
| 11 | + | |
| 12 | + <TextView | |
| 13 | + android:id="@+id/tv1" | |
| 14 | + android:layout_width="wrap_content" | |
| 15 | + android:layout_height="wrap_content" | |
| 16 | + android:text="fragment" /> | |
| 17 | + | |
| 18 | + <Button | |
| 19 | + android:id="@+id/btn_test" | |
| 20 | + android:layout_width="wrap_content" | |
| 21 | + android:layout_height="wrap_content" | |
| 22 | + android:text="测试view2" /> | |
| 23 | + </RelativeLayout> | |
| 24 | +</layout> | |
| 0 | 25 | \ No newline at end of file | ... | ... |
core/base/src/main/java/com/cnlive/libs/base/frame/fragment/BaseFragment.java
| ... | ... | @@ -37,30 +37,22 @@ public abstract class BaseFragment<V extends BaseView, P extends BasePresenter<V |
| 37 | 37 | |
| 38 | 38 | @NonNull |
| 39 | 39 | public V createView() { |
| 40 | - if (null == view) { | |
| 41 | - view = ReflectUtil.instanceView(0, this.getClass(), this, BaseView.class); | |
| 42 | - } | |
| 43 | - return view; | |
| 40 | + return ReflectUtil.instanceView(0, this.getClass(), this, BaseView.class); | |
| 44 | 41 | } |
| 45 | 42 | |
| 46 | 43 | @Override |
| 47 | 44 | public P createPresenter() { |
| 48 | - if (null == presenter) { | |
| 49 | - presenter = ReflectUtil.instancePresenter(1, this.getClass(), BasePresenter.class); | |
| 50 | - } | |
| 51 | - return presenter; | |
| 45 | + return ReflectUtil.instancePresenter(1, this.getClass(), BasePresenter.class); | |
| 52 | 46 | } |
| 53 | 47 | |
| 54 | 48 | @NonNull |
| 55 | 49 | @Override |
| 56 | 50 | public V getMvpView() { |
| 57 | 51 | if (null == view) { |
| 58 | - return createView(); | |
| 59 | - } else { | |
| 60 | - return view; | |
| 52 | + view = createView(); | |
| 61 | 53 | } |
| 54 | + return view; | |
| 62 | 55 | } |
| 63 | - | |
| 64 | 56 | // protected abstract int getLayoutId(); |
| 65 | 57 | |
| 66 | 58 | protected abstract void initView(); |
| ... | ... | @@ -73,7 +65,8 @@ public abstract class BaseFragment<V extends BaseView, P extends BasePresenter<V |
| 73 | 65 | * @param color |
| 74 | 66 | * @param statusBarAlpha |
| 75 | 67 | */ |
| 76 | - protected void setStatusBarColor(@ColorRes int color, @IntRange(from = 0, to = 255) int statusBarAlpha) { | |
| 68 | + protected void setStatusBarColor(@ColorRes int color, | |
| 69 | + @IntRange(from = 0, to = 255) int statusBarAlpha) { | |
| 77 | 70 | StatusBarUtil.setColor(getActivity(), ContextCompat.getColor(getActivity(), color), statusBarAlpha); |
| 78 | 71 | } |
| 79 | 72 | ... | ... |