From 6a65502e55b100159eeb5bd10e7b30eeac20dc5d Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期一, 28 九月 2020 18:07:53 +0800
Subject: [PATCH] 运用反射完成规则设置
---
app/src/main/java/safeluck/drive/evaluation/fragment/shop/ContentFragment.java | 36 ++++++++++++++++++++----------------
1 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/shop/ContentFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/shop/ContentFragment.java
index edf952f..4bf8aef 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/shop/ContentFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/shop/ContentFragment.java
@@ -26,6 +26,7 @@
*/
public class ContentFragment extends SupportFragment {
private static final String ARG_MENU = "arg_menu";
+ private static final String ARG_POS ="arg_position";
private TextView mTvContent;
private Button mBtnNext;
@@ -34,11 +35,11 @@
private int currPos = 0;
private String mMenu;
- public static ContentFragment newInstance(String menu) {
+ public static ContentFragment newInstance(String menu,int pos) {
Bundle args = new Bundle();
args.putString(ARG_MENU, menu);
-
+ args.putInt(ARG_POS,pos);
ContentFragment fragment = new ContentFragment();
fragment.setArguments(args);
return fragment;
@@ -51,22 +52,25 @@
Bundle args = getArguments();
if (args != null) {
mMenu = args.getString(ARG_MENU);
+ currPos =args.getInt(ARG_POS);
}
- switch (mMenu){
- case "妗d綅鐩稿叧璁剧疆":
- currPos = 0;
+ //杩愮敤鍙嶅皠鏉ュ疄鐜板悇涓狥ragmetn鐨勫垵濮嬪寲
- loadRootFragment(R.id.fl_content_container, FragmentSetting0 .newInstance(String.valueOf(currPos)),false,false );
- break;
- case "甯哥敤鍙傛暟璁剧疆":
- currPos = 1;
- loadRootFragment(R.id.fl_content_container, FragmentSetting1.newInstance(String.valueOf(currPos)),false,false );
- break;
- case "閫氱敤璇勫垽璁剧疆":
- currPos = 2;
- break;
- case "涓婅溅璧锋璁剧疆":
- break;
+ String clsName= "safeluck.drive.evaluation.fragment.rulefragments.FragmentSetting";
+
+ try {
+ Class cls = Class.forName(clsName+currPos);
+ Method method= cls.getMethod("newInstance",String.class);
+ SupportFragment invoke = (SupportFragment) method.invoke(null, String.valueOf(currPos));
+ loadRootFragment(R.id.fl_content_container, invoke,false,false );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ } catch (NoSuchMethodException e) {
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ } catch (InvocationTargetException e) {
+ e.printStackTrace();
}
}
--
Gitblit v1.8.0