Commit 12229e0df3462a830fe65e44ad1e32611c470339
1 parent
e78e2e1d
Exists in
yxb_dev
and in
2 other branches
no message
Showing
8 changed files
with
120 additions
and
54 deletions
 
Show diff stats
app/src/main/java/com/shunzhi/parent/AppConfig.java
| @@ -25,6 +25,7 @@ public class AppConfig { | @@ -25,6 +25,7 @@ public class AppConfig { | ||
| 25 | public static String NIM_CONFIG_VIBRATE = "nim_config_vibrate";//收到通知震动 | 25 | public static String NIM_CONFIG_VIBRATE = "nim_config_vibrate";//收到通知震动 | 
| 26 | public static String NIM_CONFIG_SOUND = "nim_config_sound";//收到通知响铃 | 26 | public static String NIM_CONFIG_SOUND = "nim_config_sound";//收到通知响铃 | 
| 27 | public static String ISBINDING="isbinding"; | 27 | public static String ISBINDING="isbinding"; | 
| 28 | + public static String CURRCHILDJSONSTR=""; | ||
| 28 | 29 | ||
| 29 | 30 | ||
| 30 | public static boolean ISLOGIN = false; | 31 | public static boolean ISLOGIN = false; | 
app/src/main/java/com/shunzhi/parent/db/ChildInfoDao.java
| @@ -3,6 +3,7 @@ package com.shunzhi.parent.db; | @@ -3,6 +3,7 @@ package com.shunzhi.parent.db; | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; | 
| 4 | 4 | ||
| 5 | import com.j256.ormlite.dao.Dao; | 5 | import com.j256.ormlite.dao.Dao; | 
| 6 | +import com.j256.ormlite.stmt.DeleteBuilder; | ||
| 6 | import com.j256.ormlite.stmt.QueryBuilder; | 7 | import com.j256.ormlite.stmt.QueryBuilder; | 
| 7 | import com.shunzhi.parent.bean.ChildBean; | 8 | import com.shunzhi.parent.bean.ChildBean; | 
| 8 | import com.shunzhi.parent.util.DatabaseHelper; | 9 | import com.shunzhi.parent.util.DatabaseHelper; | 
| @@ -30,6 +31,16 @@ public class ChildInfoDao { | @@ -30,6 +31,16 @@ public class ChildInfoDao { | ||
| 30 | } | 31 | } | 
| 31 | } | 32 | } | 
| 32 | 33 | ||
| 34 | + public boolean createOrUpdate(ChildBean childBean){ | ||
| 35 | + try { | ||
| 36 | + return dao.createOrUpdate(childBean).getNumLinesChanged() > 0; | ||
| 37 | + } catch (SQLException e) { | ||
| 38 | + e.printStackTrace(); | ||
| 39 | + return false; | ||
| 40 | + } | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + | ||
| 33 | public boolean onCreate(ChildBean childBean) { | 44 | public boolean onCreate(ChildBean childBean) { | 
| 34 | try { | 45 | try { | 
| 35 | return dao.create(childBean) > 0; | 46 | return dao.create(childBean) > 0; | 
| @@ -39,7 +50,15 @@ public class ChildInfoDao { | @@ -39,7 +50,15 @@ public class ChildInfoDao { | ||
| 39 | } | 50 | } | 
| 40 | } | 51 | } | 
| 41 | 52 | ||
| 42 | - | 53 | + public boolean deleteAll(){ | 
| 54 | + try { | ||
| 55 | + DeleteBuilder builder = dao.deleteBuilder(); | ||
| 56 | + return dao.delete(builder.prepare())>0; | ||
| 57 | + } catch (SQLException e) { | ||
| 58 | + e.printStackTrace(); | ||
| 59 | + return false; | ||
| 60 | + } | ||
| 61 | + } | ||
| 43 | public synchronized List<ChildBean> getAllChildren() { | 62 | public synchronized List<ChildBean> getAllChildren() { | 
| 44 | List<ChildBean> children = null; | 63 | List<ChildBean> children = null; | 
| 45 | try { | 64 | try { | 
app/src/main/java/com/shunzhi/parent/presenter/mine/MyChildPresenter.java
| @@ -59,7 +59,6 @@ public class MyChildPresenter extends MyChildContract.MyChildPresenter { | @@ -59,7 +59,6 @@ public class MyChildPresenter extends MyChildContract.MyChildPresenter { | ||
| 59 | } catch (Exception e1) { | 59 | } catch (Exception e1) { | 
| 60 | e1.printStackTrace(); | 60 | e1.printStackTrace(); | 
| 61 | } | 61 | } | 
| 62 | - | ||
| 63 | } | 62 | } | 
| 64 | })); | 63 | })); | 
| 65 | 64 | ||
| @@ -111,7 +110,6 @@ public class MyChildPresenter extends MyChildContract.MyChildPresenter { | @@ -111,7 +110,6 @@ public class MyChildPresenter extends MyChildContract.MyChildPresenter { | ||
| 111 | mRxManager.register(mIModel.unBinnding(parentId, studentId).subscribe(new Consumer<JsonObject>() { | 110 | mRxManager.register(mIModel.unBinnding(parentId, studentId).subscribe(new Consumer<JsonObject>() { | 
| 112 | @Override | 111 | @Override | 
| 113 | public void accept(JsonObject jsonObject) throws Exception { | 112 | public void accept(JsonObject jsonObject) throws Exception { | 
| 114 | - ToastUtils.showToast(jsonObject.toString()); | ||
| 115 | mIView.showError("123"); | 113 | mIView.showError("123"); | 
| 116 | } | 114 | } | 
| 117 | }, new Consumer<Throwable>() { | 115 | }, new Consumer<Throwable>() { | 
app/src/main/java/com/shunzhi/parent/ui/activity/ChildDetialActivity.java
| @@ -15,11 +15,14 @@ import android.widget.TextView; | @@ -15,11 +15,14 @@ import android.widget.TextView; | ||
| 15 | import com.google.gson.Gson; | 15 | import com.google.gson.Gson; | 
| 16 | import com.share.mvpsdk.base.BasePresenter; | 16 | import com.share.mvpsdk.base.BasePresenter; | 
| 17 | import com.share.mvpsdk.base.activity.BaseMVPCompatActivity; | 17 | import com.share.mvpsdk.base.activity.BaseMVPCompatActivity; | 
| 18 | +import com.shunzhi.parent.AppConfig; | ||
| 19 | +import com.shunzhi.parent.AppContext; | ||
| 18 | import com.shunzhi.parent.R; | 20 | import com.shunzhi.parent.R; | 
| 19 | import com.shunzhi.parent.bean.ChildBean; | 21 | import com.shunzhi.parent.bean.ChildBean; | 
| 20 | import com.shunzhi.parent.bean.ChildClass; | 22 | import com.shunzhi.parent.bean.ChildClass; | 
| 21 | import com.shunzhi.parent.bean.CurrentBean; | 23 | import com.shunzhi.parent.bean.CurrentBean; | 
| 22 | import com.shunzhi.parent.contract.mine.MyChildContract; | 24 | import com.shunzhi.parent.contract.mine.MyChildContract; | 
| 25 | +import com.shunzhi.parent.presenter.mine.MyChildPresenter; | ||
| 23 | 26 | ||
| 24 | import java.util.List; | 27 | import java.util.List; | 
| 25 | 28 | ||
| @@ -34,6 +37,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | @@ -34,6 +37,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | ||
| 34 | String childName, cardNumber; | 37 | String childName, cardNumber; | 
| 35 | int studentId; | 38 | int studentId; | 
| 36 | int isactivation = 0; | 39 | int isactivation = 0; | 
| 40 | + ChildBean childBean; | ||
| 37 | 41 | ||
| 38 | @Override | 42 | @Override | 
| 39 | protected void initView(Bundle savedInstanceState) { | 43 | protected void initView(Bundle savedInstanceState) { | 
| @@ -63,7 +67,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | @@ -63,7 +67,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | ||
| 63 | 67 | ||
| 64 | private void initChild(String childJson) { | 68 | private void initChild(String childJson) { | 
| 65 | Gson g = new Gson(); | 69 | Gson g = new Gson(); | 
| 66 | - ChildBean childBean = g.fromJson(childJson, ChildBean.class); | 70 | + childBean = g.fromJson(childJson, ChildBean.class); | 
| 67 | if (!TextUtils.isEmpty(childBean.getCardNumber())) { | 71 | if (!TextUtils.isEmpty(childBean.getCardNumber())) { | 
| 68 | cardNumber = childBean.getCardNumber(); | 72 | cardNumber = childBean.getCardNumber(); | 
| 69 | isactivation = 1; | 73 | isactivation = 1; | 
| @@ -97,7 +101,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | @@ -97,7 +101,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | ||
| 97 | @NonNull | 101 | @NonNull | 
| 98 | @Override | 102 | @Override | 
| 99 | public BasePresenter initPresenter() { | 103 | public BasePresenter initPresenter() { | 
| 100 | - return null; | 104 | + return new MyChildPresenter(); | 
| 101 | } | 105 | } | 
| 102 | 106 | ||
| 103 | @Override | 107 | @Override | 
| @@ -117,7 +121,9 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | @@ -117,7 +121,9 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | ||
| 117 | 121 | ||
| 118 | @Override | 122 | @Override | 
| 119 | public void showError(String error) { | 123 | public void showError(String error) { | 
| 120 | - | 124 | + if (error.equals("解绑成功")) ; | 
| 125 | + mPresenter.loadChildList(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.LOGIN_NAME), 0, ""); | ||
| 126 | + finish(); | ||
| 121 | } | 127 | } | 
| 122 | 128 | ||
| 123 | public void delectChild() { | 129 | public void delectChild() { | 
| @@ -143,6 +149,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | @@ -143,6 +149,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity<MyChildContract.M | ||
| 143 | public void onClick(View v) { | 149 | public void onClick(View v) { | 
| 144 | popupWindow.dismiss(); | 150 | popupWindow.dismiss(); | 
| 145 | backgroundAlpha(1f); | 151 | backgroundAlpha(1f); | 
| 152 | + mPresenter.unBinndingResult(childBean.getParentId(), childBean.getStudentId()); | ||
| 146 | 153 | ||
| 147 | } | 154 | } | 
| 148 | }); | 155 | }); | 
app/src/main/java/com/shunzhi/parent/ui/activity/MyChildActivity.java
| @@ -69,41 +69,12 @@ public class MyChildActivity extends BaseMVPCompatActivity<MyChildContract.MyChi | @@ -69,41 +69,12 @@ public class MyChildActivity extends BaseMVPCompatActivity<MyChildContract.MyChi | ||
| 69 | 69 | ||
| 70 | private void initRecyclerView() { | 70 | private void initRecyclerView() { | 
| 71 | child_recycle.setLayoutManager(new LinearLayoutManager(this)); | 71 | child_recycle.setLayoutManager(new LinearLayoutManager(this)); | 
| 72 | -// child_recycle.smoothOpenRightMenu(0); | ||
| 73 | -// child_recycle.setSwipeMenuCreator(swipeMenuCreator); | ||
| 74 | -// child_recycle.setSwipeMenuItemClickListener(new SwipeMenuItemClickListener() { | ||
| 75 | -// @Override | ||
| 76 | -// public void onItemClick(final SwipeMenuBridge menuBridge) { | ||
| 77 | -// final PopupWindow popupWindow = new PopupWindow(); | ||
| 78 | -// popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT); | ||
| 79 | -// popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); | ||
| 80 | -// backgroundAlpha(0.5f); | ||
| 81 | -// View view = LayoutInflater.from(MyChildActivity.this).inflate(R.layout.dialog_view, null); | ||
| 82 | -// TextView tv = view.findViewById(R.id.dialog_info); | ||
| 83 | -// tv.setText("是否解除绑定?"); | ||
| 84 | -// TextView btn_cancel = view.findViewById(R.id.cancel_btn); | ||
| 85 | -// btn_cancel.setOnClickListener(new View.OnClickListener() { | ||
| 86 | -// @Override | ||
| 87 | -// public void onClick(View v) { | ||
| 88 | -// popupWindow.dismiss(); | ||
| 89 | -// backgroundAlpha(1f); | ||
| 90 | -// } | ||
| 91 | -// }); | ||
| 92 | -// TextView btn_right = view.findViewById(R.id.right_btn); | ||
| 93 | -// btn_right.setOnClickListener(new View.OnClickListener() { | ||
| 94 | -// @Override | ||
| 95 | -// public void onClick(View v) { | ||
| 96 | -// popupWindow.dismiss(); | ||
| 97 | -// backgroundAlpha(1f); | ||
| 98 | -// mPresenter.unBinndingResult(Integer.parseInt(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.PARENT_ID)) | ||
| 99 | -// , currlist.get(menuBridge.getAdapterPosition()).getStudentId()); | ||
| 100 | -// } | ||
| 101 | -// }); | ||
| 102 | -// popupWindow.setContentView(view); | ||
| 103 | -// popupWindow.showAtLocation(child_recycle, Gravity.CENTER, 0, 0); | ||
| 104 | -// | ||
| 105 | -// } | ||
| 106 | -// }); | 72 | + | 
| 73 | + } | ||
| 74 | + | ||
| 75 | + @Override | ||
| 76 | + protected void onResume() { | ||
| 77 | + super.onResume(); | ||
| 107 | mPresenter.loadChildList(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.LOGIN_NAME), 0, ""); | 78 | mPresenter.loadChildList(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.LOGIN_NAME), 0, ""); | 
| 108 | } | 79 | } | 
| 109 | 80 | ||
| @@ -131,6 +102,7 @@ public class MyChildActivity extends BaseMVPCompatActivity<MyChildContract.MyChi | @@ -131,6 +102,7 @@ public class MyChildActivity extends BaseMVPCompatActivity<MyChildContract.MyChi | ||
| 131 | @Override | 102 | @Override | 
| 132 | public void updateChildList(CurrentBean currentBean) { | 103 | public void updateChildList(CurrentBean currentBean) { | 
| 133 | currlist.clear(); | 104 | currlist.clear(); | 
| 105 | + DBControl.childInfoDao.deleteAll(); | ||
| 134 | List<ChildBean> list = currentBean.getStudentClass(); | 106 | List<ChildBean> list = currentBean.getStudentClass(); | 
| 135 | for(int i=0;i<list.size();i++){ | 107 | for(int i=0;i<list.size();i++){ | 
| 136 | DBControl.childInfoDao.onCreate(list.get(i)); | 108 | DBControl.childInfoDao.onCreate(list.get(i)); | 
| @@ -157,8 +129,7 @@ public class MyChildActivity extends BaseMVPCompatActivity<MyChildContract.MyChi | @@ -157,8 +129,7 @@ public class MyChildActivity extends BaseMVPCompatActivity<MyChildContract.MyChi | ||
| 157 | 129 | ||
| 158 | @Override | 130 | @Override | 
| 159 | public void showError(String error) { | 131 | public void showError(String error) { | 
| 160 | - if (error.equals("解绑成功")) ; | ||
| 161 | - mPresenter.loadChildList(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.LOGIN_NAME), 0, ""); | 132 | + | 
| 162 | } | 133 | } | 
| 163 | 134 | ||
| 164 | private SwipeMenuCreator swipeMenuCreator = new SwipeMenuCreator() { | 135 | private SwipeMenuCreator swipeMenuCreator = new SwipeMenuCreator() { | 
app/src/main/java/com/shunzhi/parent/ui/fragment/ActivationFragment.java
| @@ -3,6 +3,7 @@ package com.shunzhi.parent.ui.fragment; | @@ -3,6 +3,7 @@ package com.shunzhi.parent.ui.fragment; | ||
| 3 | import android.os.Bundle; | 3 | import android.os.Bundle; | 
| 4 | import android.support.annotation.NonNull; | 4 | import android.support.annotation.NonNull; | 
| 5 | import android.support.annotation.Nullable; | 5 | import android.support.annotation.Nullable; | 
| 6 | +import android.text.TextUtils; | ||
| 6 | import android.view.View; | 7 | import android.view.View; | 
| 7 | import android.widget.EditText; | 8 | import android.widget.EditText; | 
| 8 | import android.widget.ImageView; | 9 | import android.widget.ImageView; | 
| @@ -14,33 +15,34 @@ import com.share.mvpsdk.utils.ToastUtils; | @@ -14,33 +15,34 @@ import com.share.mvpsdk.utils.ToastUtils; | ||
| 14 | import com.shunzhi.parent.R; | 15 | import com.shunzhi.parent.R; | 
| 15 | import com.shunzhi.parent.contract.apply.ApplyReplaceCardContract; | 16 | import com.shunzhi.parent.contract.apply.ApplyReplaceCardContract; | 
| 16 | import com.shunzhi.parent.presenter.apply.ApplyReplaceCardPresenter; | 17 | import com.shunzhi.parent.presenter.apply.ApplyReplaceCardPresenter; | 
| 18 | +import com.shunzhi.parent.views.ReplaceCardDialog; | ||
| 17 | 19 | ||
| 18 | /** | 20 | /** | 
| 19 | * Created by Administrator on 2018/4/19 0019. | 21 | * Created by Administrator on 2018/4/19 0019. | 
| 20 | */ | 22 | */ | 
| 21 | 23 | ||
| 22 | public class ActivationFragment extends BaseMVPCompatFragment<ApplyReplaceCardContract.ApplyReplaceCardPreenter, ApplyReplaceCardContract.IApplyReplaceCardModel> | 24 | public class ActivationFragment extends BaseMVPCompatFragment<ApplyReplaceCardContract.ApplyReplaceCardPreenter, ApplyReplaceCardContract.IApplyReplaceCardModel> | 
| 23 | - implements View.OnClickListener { | 25 | + implements View.OnClickListener, ApplyReplaceCardContract.IApplyReplaceCardView { | 
| 24 | 26 | ||
| 25 | 27 | ||
| 26 | TextView center_title, tv_name, tv_submit; | 28 | TextView center_title, tv_name, tv_submit; | 
| 27 | EditText et_cardnum; | 29 | EditText et_cardnum; | 
| 28 | ImageView iv_back; | 30 | ImageView iv_back; | 
| 29 | - | ||
| 30 | - String cardNum = "",childName=""; | 31 | + ReplaceCardDialog replaceCardDialog = null; | 
| 32 | + String cardNum = "", childName = ""; | ||
| 31 | int studentId; | 33 | int studentId; | 
| 32 | 34 | ||
| 33 | @Override | 35 | @Override | 
| 34 | public void onClick(View v) { | 36 | public void onClick(View v) { | 
| 35 | if (v == tv_submit) { | 37 | if (v == tv_submit) { | 
| 36 | 38 | ||
| 37 | - if (et_cardnum.getText().toString() != null) { | ||
| 38 | - cardNum=et_cardnum.getText().toString(); | 39 | + if (!TextUtils.isEmpty(et_cardnum.getText().toString())) { | 
| 40 | + cardNum = et_cardnum.getText().toString(); | ||
| 39 | mPresenter.ReplaceCardDetail(studentId, cardNum); | 41 | mPresenter.ReplaceCardDetail(studentId, cardNum); | 
| 40 | } else { | 42 | } else { | 
| 41 | ToastUtils.showToast("请输入卡号"); | 43 | ToastUtils.showToast("请输入卡号"); | 
| 42 | } | 44 | } | 
| 43 | - }else if(v==iv_back){ | 45 | + } else if (v == iv_back) { | 
| 44 | getActivity().finish(); | 46 | getActivity().finish(); | 
| 45 | } | 47 | } | 
| 46 | 48 | ||
| @@ -61,6 +63,7 @@ public class ActivationFragment extends BaseMVPCompatFragment<ApplyReplaceCardCo | @@ -61,6 +63,7 @@ public class ActivationFragment extends BaseMVPCompatFragment<ApplyReplaceCardCo | ||
| 61 | public void initUI(View view, @Nullable Bundle savedInstanceState) { | 63 | public void initUI(View view, @Nullable Bundle savedInstanceState) { | 
| 62 | center_title = view.findViewById(R.id.center_title); | 64 | center_title = view.findViewById(R.id.center_title); | 
| 63 | iv_back = view.findViewById(R.id.back_top); | 65 | iv_back = view.findViewById(R.id.back_top); | 
| 66 | + iv_back.setOnClickListener(this); | ||
| 64 | center_title.setText("校卡激活"); | 67 | center_title.setText("校卡激活"); | 
| 65 | tv_name = view.findViewById(R.id.tv_name); | 68 | tv_name = view.findViewById(R.id.tv_name); | 
| 66 | 69 | ||
| @@ -83,4 +86,19 @@ public class ActivationFragment extends BaseMVPCompatFragment<ApplyReplaceCardCo | @@ -83,4 +86,19 @@ public class ActivationFragment extends BaseMVPCompatFragment<ApplyReplaceCardCo | ||
| 83 | } | 86 | } | 
| 84 | 87 | ||
| 85 | } | 88 | } | 
| 89 | + | ||
| 90 | + @Override | ||
| 91 | + public void showTipsDialog(String msg) { | ||
| 92 | + if (msg.equals("true")) { | ||
| 93 | + if (replaceCardDialog == null) { | ||
| 94 | + replaceCardDialog = new ReplaceCardDialog(getActivity()); | ||
| 95 | + } | ||
| 96 | + replaceCardDialog.setTitle("激活卡提示"); | ||
| 97 | + replaceCardDialog.setText("卡号:" + cardNum + "\n\n" + "已成功激活!"); | ||
| 98 | + replaceCardDialog.show(); | ||
| 99 | + | ||
| 100 | + } else { | ||
| 101 | + ToastUtils.showToast("激活卡失败!"); | ||
| 102 | + } | ||
| 103 | + } | ||
| 86 | } | 104 | } | 
app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java
| @@ -10,20 +10,30 @@ import android.support.v4.app.Fragment; | @@ -10,20 +10,30 @@ import android.support.v4.app.Fragment; | ||
| 10 | import android.support.v4.app.FragmentManager; | 10 | import android.support.v4.app.FragmentManager; | 
| 11 | import android.support.v4.app.FragmentPagerAdapter; | 11 | import android.support.v4.app.FragmentPagerAdapter; | 
| 12 | import android.support.v4.view.ViewPager; | 12 | import android.support.v4.view.ViewPager; | 
| 13 | +import android.support.v7.widget.PopupMenu; | ||
| 14 | +import android.text.TextUtils; | ||
| 15 | +import android.view.Menu; | ||
| 16 | +import android.view.MenuItem; | ||
| 13 | import android.view.View; | 17 | import android.view.View; | 
| 14 | import android.widget.TextView; | 18 | import android.widget.TextView; | 
| 15 | 19 | ||
| 20 | +import com.google.gson.Gson; | ||
| 16 | import com.share.mvpsdk.base.fragment.BaseCompatFragment; | 21 | import com.share.mvpsdk.base.fragment.BaseCompatFragment; | 
| 22 | +import com.shunzhi.parent.AppConfig; | ||
| 23 | +import com.shunzhi.parent.AppContext; | ||
| 17 | import com.shunzhi.parent.R; | 24 | import com.shunzhi.parent.R; | 
| 25 | +import com.shunzhi.parent.bean.ChildBean; | ||
| 26 | +import com.shunzhi.parent.db.DBControl; | ||
| 18 | import com.shunzhi.parent.popu.ShaiXuanPop; | 27 | import com.shunzhi.parent.popu.ShaiXuanPop; | 
| 19 | import com.shunzhi.parent.ui.fragment.report.ChengZhangFragment; | 28 | import com.shunzhi.parent.ui.fragment.report.ChengZhangFragment; | 
| 20 | 29 | ||
| 30 | +import java.util.ArrayList; | ||
| 21 | import java.util.List; | 31 | import java.util.List; | 
| 22 | 32 | ||
| 23 | public class ReportFragment extends BaseCompatFragment implements View.OnClickListener { | 33 | public class ReportFragment extends BaseCompatFragment implements View.OnClickListener { | 
| 24 | ViewPager viewPager; | 34 | ViewPager viewPager; | 
| 25 | 35 | ||
| 26 | - TextView tvDate, tvShaiXuan, tvNoData; | 36 | + TextView tvDate, tvShaiXuan, tvNoData, tvName; | 
| 27 | 37 | ||
| 28 | MyFragmentAdapter myFragmentAdapter = null; | 38 | MyFragmentAdapter myFragmentAdapter = null; | 
| 29 | 39 | ||
| @@ -32,6 +42,10 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi | @@ -32,6 +42,10 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi | ||
| 32 | ChengZhangFragment chengZhangFragment1 = null, chengZhangFragment2 = null;//成长、报告页面 | 42 | ChengZhangFragment chengZhangFragment1 = null, chengZhangFragment2 = null;//成长、报告页面 | 
| 33 | 43 | ||
| 34 | ShaiXuanPop shaiXuanPop = null; | 44 | ShaiXuanPop shaiXuanPop = null; | 
| 45 | + List<ChildBean> childlist = new ArrayList<>(); | ||
| 46 | + | ||
| 47 | + String jsonStr = ""; | ||
| 48 | + Gson g = new Gson(); | ||
| 35 | 49 | ||
| 36 | @Override | 50 | @Override | 
| 37 | public int getLayoutId() { | 51 | public int getLayoutId() { | 
| @@ -42,17 +56,28 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi | @@ -42,17 +56,28 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi | ||
| 42 | public void initUI(View view, @Nullable Bundle savedInstanceState) { | 56 | public void initUI(View view, @Nullable Bundle savedInstanceState) { | 
| 43 | viewPager = view.findViewById(R.id.viewPager); | 57 | viewPager = view.findViewById(R.id.viewPager); | 
| 44 | tvDate = view.findViewById(R.id.tvDate); | 58 | tvDate = view.findViewById(R.id.tvDate); | 
| 59 | + tvName = view.findViewById(R.id.tvName); | ||
| 45 | tvShaiXuan = view.findViewById(R.id.tvShaiXuan); | 60 | tvShaiXuan = view.findViewById(R.id.tvShaiXuan); | 
| 46 | tvNoData = view.findViewById(R.id.tvNoData); | 61 | tvNoData = view.findViewById(R.id.tvNoData); | 
| 47 | tabLayout = view.findViewById(R.id.tabLayout); | 62 | tabLayout = view.findViewById(R.id.tabLayout); | 
| 63 | + tvName.setOnClickListener(this); | ||
| 64 | + registerForContextMenu(tvName); | ||
| 48 | 65 | ||
| 49 | - | ||
| 50 | - | ||
| 51 | - tvNoData.setOnClickListener(this); | ||
| 52 | tvShaiXuan.setOnClickListener(this); | 66 | tvShaiXuan.setOnClickListener(this); | 
| 53 | 67 | ||
| 54 | myFragmentAdapter = new MyFragmentAdapter(getChildFragmentManager()); | 68 | myFragmentAdapter = new MyFragmentAdapter(getChildFragmentManager()); | 
| 55 | 69 | ||
| 70 | + childlist = DBControl.childInfoDao.getAllChildren(); | ||
| 71 | + createSchoolMenu(); | ||
| 72 | + String currChildStr = AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.CURRCHILDJSONSTR); | ||
| 73 | + if (TextUtils.isEmpty(currChildStr)) { | ||
| 74 | + tvName.setText(childlist.get(0).getStudentName()); | ||
| 75 | + jsonStr = g.toJson(childlist.get(0), ChildBean.class); | ||
| 76 | + } else { | ||
| 77 | + ChildBean childBean = g.fromJson(currChildStr, ChildBean.class); | ||
| 78 | + tvName.setText(childBean.getStudentName()); | ||
| 79 | + jsonStr = currChildStr; | ||
| 80 | + } | ||
| 56 | viewPager.setAdapter(myFragmentAdapter); | 81 | viewPager.setAdapter(myFragmentAdapter); | 
| 57 | tabLayout.setupWithViewPager(viewPager); | 82 | tabLayout.setupWithViewPager(viewPager); | 
| 58 | tabLayout.removeAllTabs(); | 83 | tabLayout.removeAllTabs(); | 
| @@ -85,6 +110,33 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi | @@ -85,6 +110,33 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi | ||
| 85 | if (null == shaiXuanPop) shaiXuanPop = new ShaiXuanPop(getActivity()); | 110 | if (null == shaiXuanPop) shaiXuanPop = new ShaiXuanPop(getActivity()); | 
| 86 | chengZhangFragment2.showShaixuan(handler); | 111 | chengZhangFragment2.showShaixuan(handler); | 
| 87 | break; | 112 | break; | 
| 113 | + case R.id.tvName: | ||
| 114 | + showChildName(); | ||
| 115 | + break; | ||
| 116 | + } | ||
| 117 | + } | ||
| 118 | + | ||
| 119 | + private void showChildName() { | ||
| 120 | + schoolMenu.show(); | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + private PopupMenu schoolMenu = null; | ||
| 124 | + | ||
| 125 | + private void createSchoolMenu() { | ||
| 126 | + if (schoolMenu != null) return; | ||
| 127 | + schoolMenu = new PopupMenu(getActivity(), tvName); | ||
| 128 | + Menu menu = schoolMenu.getMenu(); | ||
| 129 | + for (int i = 0; i < childlist.size(); i++) { | ||
| 130 | + final int finalI = i; | ||
| 131 | + menu.add(0, i, 10, childlist.get(i).getStudentName()).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { | ||
| 132 | + @Override | ||
| 133 | + public boolean onMenuItemClick(MenuItem item) { | ||
| 134 | + tvName.setText(item.getTitle()); | ||
| 135 | + jsonStr = g.toJson(childlist.get(finalI), ChildBean.class); | ||
| 136 | + AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.CURRCHILDJSONSTR, jsonStr); | ||
| 137 | + return false; | ||
| 138 | + } | ||
| 139 | + }); | ||
| 88 | } | 140 | } | 
| 89 | } | 141 | } | 
| 90 | 142 | 
app/src/main/res/layout/item_school.xml
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> | 
| 2 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | 2 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | 
| 3 | android:layout_width="match_parent" | 3 | android:layout_width="match_parent" | 
| 4 | - android:layout_height="match_parent" | 4 | + android:layout_height="wrap_content" | 
| 5 | android:orientation="vertical"> | 5 | android:orientation="vertical"> | 
| 6 | <LinearLayout | 6 | <LinearLayout | 
| 7 | android:layout_width="fill_parent" | 7 | android:layout_width="fill_parent" |