Skip to content

Commit fc2a997

Browse files
author
张磊
committed
完善demo,支持跨module获取fragment
1 parent c831c5c commit fc2a997

File tree

8 files changed

+59
-6
lines changed

8 files changed

+59
-6
lines changed

biz-module-main/src/main/java/com/modularization/biz/module/main/MainActivity.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import android.os.Bundle;
44
import android.widget.TextView;
55

6+
import androidx.fragment.app.Fragment;
7+
68
import com.alibaba.android.arouter.launcher.ARouter;
79
import com.modularization.biz.service.base.ResponseCallback;
810
import com.modularization.biz.service.newhouse.NewHouseApiData;
@@ -12,6 +14,7 @@
1214
import com.modularization.biz.service.renthouse.RentHouseProviderHelper;
1315
import com.modularization.biz.service.renthouse.RentHouseRouterTable;
1416
import com.modularization.common.base.activity.BaseActivity;
17+
import com.modularization.common.base.util.ActivityUtils;
1518
import com.modularization.common.model.HouseDetail;
1619
import com.modularization.biz.service.newhouse.NewHouseData;
1720
import com.modularization.biz.service.secondhouse.SecondHouseData;
@@ -65,6 +68,9 @@ public void onFailed(ErrorMessage errorMsg) {
6568

6669
RentHouseData rentHouseData = RentHouseProviderHelper.getRentHouseProvider().fetchRentHouseData();
6770
((TextView) findViewById(R.id.rent_house_text_view)).setText(rentHouseData.toString());
71+
72+
Fragment fragment = SecondHouseProviderHelper.getSecondHouseProvider().getFragment(SecondHouseRouterTable.PATH_FRAGMENT_BLANK);
73+
ActivityUtils.addFragmentToActivity(getSupportFragmentManager(), fragment, R.id.fragment_container);
6874
}
6975

7076
@OnClick(R2.id.btn_goto_new_house)

biz-module-main/src/main/res/layout/activity_main.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,15 @@
8686
android:layout_height="wrap_content"
8787
android:layout_marginTop="8dp" />
8888

89+
<FrameLayout
90+
android:id="@+id/fragment_container"
91+
android:layout_width="match_parent"
92+
android:paddingLeft="10dp"
93+
android:paddingRight="10dp"
94+
android:layout_height="160dp"
95+
android:layout_marginTop="8dp"
96+
/>
97+
8998
<TextView
9099
android:layout_width="match_parent"
91100
android:layout_height="wrap_content"
@@ -101,6 +110,7 @@
101110
android:layout_height="wrap_content"
102111
android:layout_marginTop="8dp" />
103112

113+
104114
</LinearLayout>
105115
</ScrollView>
106116
</LinearLayout>

biz-module-secondhouse/src/main/java/com/modularization/biz/module/secondhouse/BlankFragment.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@
44

55
import androidx.fragment.app.Fragment;
66

7+
import android.text.TextUtils;
78
import android.view.LayoutInflater;
89
import android.view.View;
910
import android.view.ViewGroup;
11+
import android.widget.TextView;
1012

13+
import com.alibaba.android.arouter.facade.annotation.Autowired;
1114
import com.alibaba.android.arouter.facade.annotation.Route;
1215
import com.modularization.biz.service.secondhouse.SecondHouseRouterTable;
1316

@@ -16,7 +19,8 @@ public class BlankFragment extends Fragment {
1619

1720
private static final String ARG_PARAM1 = "param1";
1821

19-
private String mParam1;
22+
@Autowired(name = "param1")
23+
String mParam1;
2024

2125
public BlankFragment() {
2226
// Required empty public constructor
@@ -41,6 +45,11 @@ public void onCreate(Bundle savedInstanceState) {
4145
@Override
4246
public View onCreateView(LayoutInflater inflater, ViewGroup container,
4347
Bundle savedInstanceState) {
44-
return inflater.inflate(R.layout.fragment_blank, container, false);
48+
View rootView = inflater.inflate(R.layout.fragment_blank, container, false);
49+
TextView textView = rootView.findViewById(R.id.textView);
50+
if(!TextUtils.isEmpty(mParam1)) {
51+
textView.setText(mParam1);
52+
}
53+
return rootView;
4554
}
4655
}

biz-module-secondhouse/src/main/java/com/modularization/biz/module/secondhouse/SecondHouseProviderImpl.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import android.content.Context;
44

5+
import androidx.fragment.app.Fragment;
6+
57
import com.alibaba.android.arouter.facade.annotation.Route;
8+
import com.alibaba.android.arouter.launcher.ARouter;
69
import com.modularization.biz.service.secondhouse.SecondHouseProvider;
710
import com.modularization.biz.service.secondhouse.SecondHouseData;
811
import com.modularization.biz.service.secondhouse.SecondHouseRouterTable;
@@ -13,9 +16,11 @@
1316
@Route(path = SecondHouseRouterTable.PATH_SERVICE_SECOND_HOUSE)
1417
public class SecondHouseProviderImpl implements SecondHouseProvider {
1518

19+
private Context context;
20+
1621
@Override
1722
public void init(Context context) {
18-
23+
this.context = context;
1924
}
2025

2126
@Override
@@ -27,4 +32,11 @@ public SecondHouseData fetchSecondHouseData() {
2732
data.setPrice("700万/套");
2833
return data;
2934
}
35+
36+
@Override
37+
public Fragment getFragment(String routePath) {
38+
return (Fragment) ARouter.getInstance().build(SecondHouseRouterTable.PATH_FRAGMENT_BLANK)
39+
.withString("param1", "这是一个来自二手房的Fragment")
40+
.navigation(context);
41+
}
3042
}

biz-module-secondhouse/src/main/res/layout/fragment_blank.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22
xmlns:tools="http://schemas.android.com/tools"
33
android:layout_width="match_parent"
44
android:layout_height="match_parent"
5+
android:background="@android:color/holo_orange_light"
56
tools:context="com.modularization.biz.module.secondhouse.BlankFragment"
67
tools:ignore="ResourceName">
78

89
<TextView
910
android:id="@+id/textView"
10-
android:layout_width="match_parent"
11-
android:layout_height="match_parent"
11+
android:layout_width="wrap_content"
12+
android:layout_height="wrap_content"
13+
android:layout_gravity="center"
14+
android:textStyle="bold"
15+
android:textSize="18sp"
1216
android:text="我是二手房Fragment" />
1317

1418
</FrameLayout>

biz-service-base/src/main/java/com/modularization/biz/service/base/ErrorMessage.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,12 @@ public String getMessage() {
2828
public void setMessage(String message) {
2929
this.message = message;
3030
}
31+
32+
@Override
33+
public String toString() {
34+
return "ErrorMessage{" +
35+
"code=" + code +
36+
", message='" + message + '\'' +
37+
'}';
38+
}
3139
}

biz-service-secondhouse/src/main/java/com/modularization/biz/service/secondhouse/SecondHouseProvider.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.modularization.biz.service.secondhouse;
22

3+
import androidx.fragment.app.Fragment;
4+
35
import com.alibaba.android.arouter.facade.template.IProvider;
46

57
/**
@@ -8,4 +10,6 @@
810
public interface SecondHouseProvider extends IProvider {
911

1012
SecondHouseData fetchSecondHouseData();
13+
14+
Fragment getFragment(String routePath);
1115
}

lib-data-net/src/main/java/com/modularization/data/net/SignInterceptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ public class SignInterceptor implements Interceptor {
1414

1515
@Override
1616
public Response intercept(Chain chain) throws IOException {
17-
return null;
17+
return chain.proceed(chain.request());
1818
}
1919
}

0 commit comments

Comments
 (0)