Commit 50ca3597ab86709b5119bb16659286917aab12bf

Authored by 张道锋
2 parents e518b71b 9b095404

no message

Showing 71 changed files with 1314 additions and 678 deletions   Show diff stats
.idea/inspectionProfiles/profiles_settings.xml 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +<component name="InspectionProjectProfileManager">
  2 + <settings>
  3 + <option name="PROJECT_PROFILE" />
  4 + <version value="1.0" />
  5 + </settings>
  6 +</component>
0 7 \ No newline at end of file
... ...
.idea/modules.xml
... ... @@ -4,8 +4,8 @@
4 4 <modules>
5 5 <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
6 6 <module fileurl="file://$PROJECT_DIR$/mvpsdk/mvpsdk.iml" filepath="$PROJECT_DIR$/mvpsdk/mvpsdk.iml" />
7   - <module fileurl="file://$PROJECT_DIR$/parentWorkHolper.iml" filepath="$PROJECT_DIR$/parentWorkHolper.iml" />
8 7 <module fileurl="file://E:\parentwork\parentWorkHolper.iml" filepath="E:\parentwork\parentWorkHolper.iml" />
  8 + <module fileurl="file://$PROJECT_DIR$/parentwork.iml" filepath="$PROJECT_DIR$/parentwork.iml" />
9 9 <module fileurl="file://F:\parentWorkHolper\parentwork.iml" filepath="F:\parentWorkHolper\parentwork.iml" />
10 10 <module fileurl="file://$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" filepath="$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" />
11 11 </modules>
... ...
app/src/main/AndroidManifest.xml
... ... @@ -112,7 +112,8 @@
112 112 android:name="com.amap.api.v2.apikey"
113 113 android:value="1d130afb822d8a1019e6592cbaf10bcc"/>
114 114  
115   - <activity android:name=".ui.MainActivity"
  115 + <activity android:name=".ui.activity.StartActivity"
  116 + android:launchMode="singleInstance"
116 117 android:windowSoftInputMode="adjustPan|stateAlwaysHidden">
117 118 <intent-filter>
118 119 <action android:name="android.intent.action.MAIN"/>
... ... @@ -130,40 +131,54 @@
130 131 <activity android:name=".ui.activity.consult.ConsultOneLevelActivity"/>
131 132 <!-- <activity android:name=".ui.activity.LoginAndRegistActivity" /> -->
132 133 <activity
133   - android:name=".ui.activity.StartActivity"
  134 + android:name=".ui.MainActivity"
  135 + android:launchMode="singleInstance"
  136 + android:windowSoftInputMode="adjustPan|stateAlwaysHidden"
134 137 android:screenOrientation="portrait"/>
135 138 <activity
136 139 android:name=".ui.activity.ChildDetialActivity"
  140 + android:launchMode="singleInstance"
137 141 android:screenOrientation="portrait" />
138 142 <activity
139 143 android:name=".ui.activity.binding.CreateChildInfoActivity"
  144 + android:launchMode="singleInstance"
140 145 android:screenOrientation="portrait"
141 146 android:windowSoftInputMode="adjustPan|stateHidden"/>
142 147 <activity
143 148 android:name=".ui.activity.binding.SelectSchoolActivity"
144 149 android:screenOrientation="portrait"
145 150 android:windowSoftInputMode="adjustPan|stateHidden"/>
146   - android:windowSoftInputMode="adjustPan|stateHidden" />
  151 +
147 152 <activity android:name=".ui.activity.LoginAndRegistActivity"
148 153 android:screenOrientation="portrait"
149 154 />
150 155 <activity
151 156 android:name=".ui.activity.PersonInfoActivity"
  157 + android:launchMode="singleInstance"
152 158 android:screenOrientation="portrait"
153 159 android:windowSoftInputMode="adjustPan|stateHidden"/>
  160 +
154 161 <activity
155 162 android:name=".ui.activity.binding.CheckInfoActivity"
  163 + android:launchMode="singleInstance"
156 164 android:screenOrientation="portrait"
157 165 android:windowSoftInputMode="adjustPan|stateHidden"/>
  166 +
158 167 <activity
159 168 android:name=".ui.activity.binding.InviteCodeActivity"
160   -
  169 + android:launchMode="singleInstance"
161 170 android:screenOrientation="portrait" />
  171 +
162 172 <activity
163 173 android:name=".ui.activity.mywebview.WebViewActivity"
  174 + android:launchMode="singleInstance"
164 175 android:screenOrientation="portrait" />
165   - <activity android:name=".ui.activity.consult.ConsultTwoLevelActivity" />
166   - <activity android:name=".ui.activity.orderdetail.OrderDetailActivity" />
  176 +
  177 + <activity android:name=".ui.activity.consult.ConsultTwoLevelActivity"
  178 + android:launchMode="singleInstance"/>
  179 +
  180 + <activity android:name=".ui.activity.orderdetail.OrderDetailActivity"
  181 + android:launchMode="singleInstance"/>
167 182 </application>
168 183  
169 184 </manifest>
170 185 \ No newline at end of file
... ...
app/src/main/java/com/shunzhi/parent/AppConfig.java
... ... @@ -22,7 +22,10 @@ public class AppConfig {
22 22 public static String USER_SEX = "user_sex";
23 23 public static String USER_IMAGE = "user_image";
24 24 public static String PARENT_ID = "parent_id";
  25 +
  26 +
25 27 public static boolean ISLOGIN = false;
  28 + public static boolean ISBINDING = false;
26 29  
27 30 public static int BINDING_SUCCESS_HEZUO = 1;
28 31 public static int BINDING_SUCCESS_NOT = 2;
... ... @@ -33,8 +36,8 @@ public class AppConfig {
33 36  
34 37 //http://campus.myjxt.com/
35 38 public static String BASE_URL="http://60.190.202.57:1000/";
36   - public static String BASE_URL_IMG="http://60.190.202.57:1000";
37 39 public static String BASE_URL_ORDER="http://60.190.202.57:8101/";
  40 + public static String BASE_URL_FILE="http://60.190.202.57:8196";
38 41  
39 42  
40 43 //默认日志保存的路径
... ...
app/src/main/java/com/shunzhi/parent/AppContext.java
... ... @@ -3,11 +3,11 @@ package com.shunzhi.parent;
3 3 import android.content.Context;
4 4 import android.content.Intent;
5 5 import android.content.SharedPreferences;
6   -import android.util.Log;
7 6  
8 7 import com.amap.api.location.AMapLocation;
9 8 import com.amap.api.location.AMapLocationClient;
10 9 import com.amap.api.location.AMapLocationClientOption;
  10 +import com.amap.api.location.AMapLocationClientOption.AMapLocationMode;
11 11 import com.amap.api.location.AMapLocationListener;
12 12 import com.netease.nimlib.sdk.NIMClient;
13 13 import com.netease.nimlib.sdk.SDKOptions;
... ... @@ -161,7 +161,8 @@ public class AppContext extends GlobalApplication {
161 161 sendBroadcast(intent);
162 162 stopLocation();
163 163 } else {
164   - cityName = "定位失败";
  164 + cityName = "定位失败";district="定位失败";
  165 +
165 166 // Log.d("mlocation:","errorCode="+aMapLocation.getErrorCode()+"errorInfo="+aMapLocation.getErrorInfo());
166 167 }
167 168  
... ...
app/src/main/java/com/shunzhi/parent/adapter/ChildAdapter.java
... ... @@ -11,9 +11,12 @@ import android.widget.TextView;
11 11 import com.google.gson.Gson;
12 12 import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter;
13 13 import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder;
  14 +import com.shunzhi.parent.AppConfig;
  15 +import com.shunzhi.parent.AppContext;
14 16 import com.shunzhi.parent.R;
15 17 import com.shunzhi.parent.bean.ChildBean;
16 18 import com.shunzhi.parent.ui.activity.ChildDetialActivity;
  19 +import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
17 20  
18 21 /**
19 22 * Created by Administrator on 2018/3/9 0009.
... ... @@ -37,26 +40,42 @@ public class ChildAdapter extends BaseRecyclerViewAdapter&lt;ChildBean&gt; {
37 40 private class MyViewHolder extends BaseRecyclerViewHolder<ChildBean> {
38 41  
39 42 TextView txt_childname, txt_childclass;
  43 + TextView go_buy;
40 44  
41 45  
42 46 public MyViewHolder(View view) {
43 47 super(view);
44 48 txt_childname = view.findViewById(R.id.txt_childname);
45 49 txt_childclass = view.findViewById(R.id.txt_childclass);
  50 + go_buy = view.findViewById(R.id.go_buy);
  51 +
46 52 }
47 53  
48 54 @Override
49 55 public void onBindViewHolder(final ChildBean object, int position) {
50   - txt_childname.setText(object.getStudentName());
51   - txt_childclass.setText(object.getSchoolName() + " " + object.getClassName());
52   - itemView.setOnClickListener(new View.OnClickListener() {
53   - @Override
54   - public void onClick(View v) {
55   - Gson g = new Gson();
56   - String jsonString = g.toJson(object, ChildBean.class).toString();
57   - context.startActivity(new Intent().putExtra("childJson", jsonString).setClass(context, ChildDetialActivity.class));
58   - }
59   - });
  56 + try {
  57 + txt_childname.setText(object.getStudentName());
  58 + txt_childclass.setText(object.getSchoolName() + " " + object.getClassName());
  59 + itemView.setOnClickListener(new View.OnClickListener() {
  60 + @Override
  61 + public void onClick(View v) {
  62 + Gson g = new Gson();
  63 + String jsonString = g.toJson(object, ChildBean.class).toString();
  64 + context.startActivity(new Intent().putExtra("childJson", jsonString).setClass(context, ChildDetialActivity.class));
  65 + }
  66 + });
  67 +
  68 + go_buy.setOnClickListener(new View.OnClickListener() {
  69 + @Override
  70 + public void onClick(View v) {
  71 + WebViewActivity.getInstance(context,
  72 + AppConfig.BASE_URL_ORDER + "/ParentOrderCenter.aspx?userid=" +
  73 + AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.USER_ID), AppConfig.ORDER_CENTER);
  74 + }
  75 + });
  76 + } catch (Exception e) {
  77 + e.printStackTrace();
  78 + }
60 79 }
61 80  
62 81 }
... ...
app/src/main/java/com/shunzhi/parent/adapter/ContextAdapter.java
... ... @@ -1,66 +0,0 @@
1   -package com.shunzhi.parent.adapter;
2   -
3   -import android.content.Context;
4   -import android.view.LayoutInflater;
5   -import android.view.View;
6   -import android.view.ViewGroup;
7   -import android.widget.ImageView;
8   -import android.widget.TextView;
9   -
10   -import com.bumptech.glide.Glide;
11   -import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter;
12   -import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder;
13   -import com.shunzhi.parent.R;
14   -import com.shunzhi.parent.bean.channel.ChannelContextBean;
15   -
16   -/**
17   - * Created by lenovo on 2018/3/18.
18   - */
19   -
20   -public class ContextAdapter extends BaseRecyclerViewAdapter<ChannelContextBean>{
21   - Context context;
22   -
23   - public ContextAdapter(Context context) {
24   - this.context = context;
25   - }
26   -
27   -
28   - @Override
29   - public BaseRecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
30   - View view = LayoutInflater.from(context).inflate(R.layout.layout_consult_content, null);
31   - return new MyViewHolder(view);
32   - }
33   -
34   - private class MyViewHolder extends BaseRecyclerViewHolder<ChannelContextBean> {
35   - TextView tvConsultTitle,tvConsultContent,tvPingLunNums,tvZhuanFaNums;
36   - ImageView iv_consult;
37   -
38   -
39   - public MyViewHolder(View view) {
40   - super(view);
41   - tvConsultContent=view.findViewById(R.id.tvConsultContent);
42   - tvConsultTitle=view.findViewById(R.id.tvConsultTitle);
43   - tvPingLunNums=view.findViewById(R.id.tvPingLunNums);
44   - tvZhuanFaNums=view.findViewById(R.id.tvZhuanFaNums);
45   - iv_consult=view.findViewById(R.id.iv_consult);
46   -
47   - }
48   -
49   - @Override
50   - public void onBindViewHolder(final ChannelContextBean object, int position) {
51   - tvConsultTitle.setText(object.getTitle());
52   - tvConsultContent.setText(object.getContent());
53   - Glide.with(context).load(object.getImage()).placeholder(R.color.xueqing_blue)
54   - .into(iv_consult);
55   -
56   -
57   -
58   -
59   -
60   - }
61   -
62   - }
63   -
64   -
65   -
66   -}
app/src/main/java/com/shunzhi/parent/adapter/MyConsultAdapter.java
... ... @@ -3,34 +3,41 @@ package com.shunzhi.parent.adapter;
3 3 import android.content.Context;
4 4 import android.support.v7.widget.LinearLayoutManager;
5 5 import android.support.v7.widget.RecyclerView;
  6 +import android.util.Log;
6 7 import android.view.LayoutInflater;
7 8 import android.view.View;
8 9 import android.view.ViewGroup;
  10 +import android.widget.FrameLayout;
9 11 import android.widget.ImageView;
  12 +import android.widget.LinearLayout;
10 13 import android.widget.TextView;
11 14  
  15 +import com.bumptech.glide.Glide;
12 16 import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter;
13 17 import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder;
  18 +import com.shunzhi.parent.AppConfig;
  19 +import com.shunzhi.parent.AppContext;
14 20 import com.shunzhi.parent.R;
15   -import com.shunzhi.parent.bean.MyConsultBean;
16   -import com.shunzhi.parent.ui.activity.consult.ConsultTwoLevelActivity;
  21 +import com.shunzhi.parent.bean.channel.ChannelContextBean;
  22 +import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
  23 +import com.shunzhi.parent.util.GlideUtils;
17 24  
18 25 /**
19 26 * Created by ToaHanDong on 2018/3/14.
20 27 */
21 28  
22   -public class MyConsultAdapter extends BaseRecyclerViewAdapter<MyConsultBean> {
  29 +public class MyConsultAdapter extends BaseRecyclerViewAdapter<ChannelContextBean> {
23 30  
24   - private Context mContext=null;
  31 + private Context mContext = null;
25 32  
26   - public MyConsultAdapter(Context context){
27   - mContext=context;
  33 + public MyConsultAdapter(Context context) {
  34 + mContext = context;
28 35 }
29 36  
30 37 @Override
31 38 public void onAttachedToRecyclerView(RecyclerView recyclerView) {
32 39 super.onAttachedToRecyclerView(recyclerView);
33   - LinearLayoutManager layoutManager=new LinearLayoutManager(mContext);
  40 + LinearLayoutManager layoutManager = new LinearLayoutManager(mContext);
34 41 layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
35 42 recyclerView.setLayoutManager(layoutManager);
36 43 }
... ... @@ -41,25 +48,52 @@ public class MyConsultAdapter extends BaseRecyclerViewAdapter&lt;MyConsultBean&gt; {
41 48 return new MyConsultViewHolder(view);
42 49 }
43 50  
44   - private class MyConsultViewHolder extends BaseRecyclerViewHolder<MyConsultBean>{
  51 + private class MyConsultViewHolder extends BaseRecyclerViewHolder<ChannelContextBean> {
45 52  
46 53 TextView tvConsultTitle, tvConsultContent, tvPingLunNums, tvZhuanFaNums;
47   - ImageView iv_consult;
  54 + ImageView iv_consult, image_ad;
  55 + FrameLayout frame_ad;
  56 + LinearLayout normal_content;
  57 +
48 58 public MyConsultViewHolder(View itemView) {
49 59 super(itemView);
50   - tvConsultTitle = itemView.findViewById(R.id.tvConsultTitle);
51 60 tvConsultContent = itemView.findViewById(R.id.tvConsultContent);
  61 + tvConsultTitle = itemView.findViewById(R.id.tvConsultTitle);
52 62 tvPingLunNums = itemView.findViewById(R.id.tvPingLunNums);
53 63 tvZhuanFaNums = itemView.findViewById(R.id.tvZhuanFaNums);
54 64 iv_consult = itemView.findViewById(R.id.iv_consult);
  65 + frame_ad = itemView.findViewById(R.id.frame_ad);
  66 + image_ad = itemView.findViewById(R.id.image_ad);
  67 + normal_content = itemView.findViewById(R.id.normal_content);
55 68 }
56 69  
57 70 @Override
58   - public void onBindViewHolder(MyConsultBean object, int position) {
59   - tvConsultContent.setText(object.consultContent);
60   - tvConsultTitle.setText(object.consultTitle);
61   - tvPingLunNums.setText(object.consultCounts);
62   - tvZhuanFaNums.setText(object.consultZhuanfaCounts);
  71 + public void onBindViewHolder(final ChannelContextBean object, int position) {
  72 + if (object.getIsAds() == 1) {
  73 + frame_ad.setVisibility(View.VISIBLE);
  74 + normal_content.setVisibility(View.GONE);
  75 + GlideUtils.showImg(mContext,iv_consult,object.getImage());
  76 + frame_ad.setOnClickListener(new View.OnClickListener() {
  77 + @Override
  78 + public void onClick(View v) {
  79 + WebViewActivity.getInstance(mContext,object.getUrl(), -1);
  80 + }
  81 + });
  82 + } else {
  83 + frame_ad.setVisibility(View.GONE);
  84 + normal_content.setVisibility(View.VISIBLE);
  85 + tvConsultTitle.setText(object.getTitle());
  86 + tvConsultContent.setText(object.getContent());
  87 + GlideUtils.showImg(mContext,iv_consult,object.getImage());
  88 + normal_content.setOnClickListener(new View.OnClickListener() {
  89 + @Override
  90 + public void onClick(View v) {
  91 + WebViewActivity.getInstance(mContext, AppConfig.BASE_URL_ORDER
  92 + +"InformationDetail.aspx?id="+object.getId()+"&areaname="+ AppContext.getInstance().district, -1);
  93 + }
  94 + });
  95 + }
  96 +
63 97 }
64 98 }
65 99 }
... ...
app/src/main/java/com/shunzhi/parent/api/Consult.java
... ... @@ -15,13 +15,18 @@ import retrofit2.http.Query;
15 15  
16 16 public interface Consult {
17 17  
18   - @GET("/api/ParentService/GetAds")
  18 + @GET("api/ParentService/GetAds")
19 19 Observable<JsonObject> getBanners(@Query("position") String position, @Query("areaName") String areaName);
20 20  
21 21  
22 22 @FormUrlEncoded
23   - @POST("/api/ParentService/GetChannelInfo")
  23 + @POST("api/ParentService/GetChannelInfo")
24 24 Observable<JsonObject> getConsultContent(@Field("areaName") String areaName, @Field("channel") int channel
25 25 , @Field("toFirstPage") int toFirstPage, @Field("pageIndex") int pageIndex);
26 26  
  27 + @FormUrlEncoded
  28 + @POST("api/ParentService/GetInformationTopic")
  29 + Observable<JsonObject> getInformationTopic(@Field("keyword") String keyword,@Field("areaName") String areaName, @Field("channel") String channel
  30 + , @Field("toFirstPage") String toFirstPage, @Field("pageIndex") int pageIndex);
  31 +
27 32 }
... ...
app/src/main/java/com/shunzhi/parent/bean/ToolBean.java
... ... @@ -5,17 +5,17 @@ import java.io.Serializable;
5 5 /**
6 6 * Created by ToaHanDong on 2018/3/14.
7 7 * toolId (integer, optional): 工具ID ,
8   - toolName (string, optional): 工具名称 ,
9   - toolImage (string, optional): 工具图片 ,
10   - toolUrl (string, optional): 工具链接 ,
11   - orderById (integer, optional): 工具排序
  8 + * toolName (string, optional): 工具名称 ,
  9 + * toolImage (string, optional): 工具图片 ,
  10 + * toolUrl (string, optional): 工具链接 ,
  11 + * orderById (integer, optional): 工具排序
12 12 */
13 13  
14 14 public class ToolBean implements Serializable {
15 15  
16   - public ToolBean(String toolImg,String toolName){
17   - this.toolImage=toolImg;
18   - this.toolName=toolName;
  16 + public ToolBean(String toolImg, String toolName) {
  17 + this.toolImage = toolImg;
  18 + this.toolName = toolName;
19 19 }
20 20  
21 21  
... ... @@ -25,13 +25,21 @@ public class ToolBean implements Serializable {
25 25  
26 26 public String toolUrl;
27 27  
  28 + public String toolId;
28 29  
  30 + public String columnType;
  31 +
  32 + public String orderById;
29 33  
30 34 @Override
31 35 public String toString() {
32 36 return "ToolBean{" +
33   - "toolImg='" + toolImage + '' +
  37 + "toolImage='" + toolImage + '' +
34 38 ", toolName='" + toolName + '\'' +
  39 + ", toolUrl='" + toolUrl + '\'' +
  40 + ", toolId='" + toolId + '\'' +
  41 + ", columnType='" + columnType + '\'' +
  42 + ", orderById='" + orderById + '\'' +
35 43 '}';
36 44 }
37 45 }
... ...
app/src/main/java/com/shunzhi/parent/contract/ceping/CepingContract.java
... ... @@ -31,7 +31,7 @@ public interface CepingContract {
31 31  
32 32 interface ICePingView extends IBaseFragment{
33 33  
34   - void showTools();
  34 + void showTools(List<ToolBean> toolBeanList);
35 35  
36 36 }
37 37  
... ...
app/src/main/java/com/shunzhi/parent/contract/consult/consultone/ConsultOneContract.java
... ... @@ -7,6 +7,8 @@ import com.share.mvpsdk.base.BasePresenter;
7 7 import com.share.mvpsdk.base.IBaseFragment;
8 8 import com.share.mvpsdk.base.IBaseModel;
9 9 import com.shunzhi.parent.bean.GuangGaoBean;
  10 +import com.shunzhi.parent.bean.channel.ChannelBean;
  11 +import com.shunzhi.parent.bean.channel.ChannelContextBean;
10 12  
11 13 import java.util.List;
12 14  
... ... @@ -24,6 +26,8 @@ public interface ConsultOneContract {
24 26 public abstract void getBanners(String position,String areaName);
25 27  
26 28 public abstract void getConsultContent(String areaName, int channel, int toFirstPage, int pageIndex);
  29 +
  30 + public abstract void getInformationTopic(String keyword,String areaName,String channel,String toFirstPage,int pageIndex);
27 31 }
28 32  
29 33 interface IConsultOneModel extends IBaseModel{
... ... @@ -32,6 +36,8 @@ public interface ConsultOneContract {
32 36 Observable<JsonObject> getBanners(String position,String areaName);
33 37  
34 38 Observable<JsonObject> getConsultContent(String areaName, int channel, int toFirstPage, int pageIndex);
  39 +
  40 + Observable<JsonObject> getInformationTopic(String keyword,String areaName,String channel,String toFirstPage,int pageIndex);
35 41 }
36 42  
37 43 interface IConsultOneView extends IBaseFragment{
... ... @@ -39,7 +45,9 @@ public interface ConsultOneContract {
39 45  
40 46 void showBanners(List<GuangGaoBean> guangGaoBeanList);
41 47  
42   - void showConsultContent();
  48 + void showConsultContent(List<ChannelContextBean> list);
  49 +
  50 + void showChannel(List<ChannelBean> list);
43 51  
44 52  
45 53 }
... ...
app/src/main/java/com/shunzhi/parent/contract/loginandregister/LoginAndRegisterContract.java
... ... @@ -45,6 +45,7 @@ public interface LoginAndRegisterContract {
45 45  
46 46 //更新用户信息
47 47 void getUserInfo(int type);
  48 + void showerror(String error);
48 49  
49 50 }
50 51  
... ...
app/src/main/java/com/shunzhi/parent/contract/mine/MyChildContract.java
... ... @@ -41,7 +41,7 @@ public interface MyChildContract {
41 41  
42 42 interface IMyChildView extends IBaseActivity {
43 43 void updateChildList(CurrentBean currentBean);
44   - void addChildSuccess();
  44 + void addChildSuccess(String account,String password);
45 45 void showClass(List<ChildClass>list);
46 46 void showError(String error);
47 47  
... ...
app/src/main/java/com/shunzhi/parent/model/consult/ConsultModel.java
... ... @@ -6,8 +6,6 @@ import com.share.mvpsdk.helper.RetrofitCreateHelper;
6 6 import com.share.mvpsdk.helper.RxHelper;
7 7 import com.shunzhi.parent.AppConfig;
8 8 import com.shunzhi.parent.api.Consult;
9   -import com.shunzhi.parent.api.LoginRegisterApi;
10   -import com.shunzhi.parent.bean.UserInfo;
11 9 import com.shunzhi.parent.contract.consult.ConsultContract;
12 10  
13 11 import io.reactivex.Observable;
... ... @@ -32,8 +30,6 @@ public class ConsultModel extends BaseModel implements ConsultContract.IConsultM
32 30  
33 31 @Override
34 32 public Observable<JsonObject> getContextChannel(String areaName, int channel, int toFirstPage, int pageIndex) {
35   -// return RetrofitCreateHelper.getInstance().createApi(Consult.class, AppConfig.BASE_URL)
36   -// .getConsultContent(areaName,channel,toFirstPage,pageIndex);
37 33 return RetrofitCreateHelper.getInstance().createApi(Consult.class,AppConfig.BASE_URL).getConsultContent(areaName,channel,toFirstPage,pageIndex)
38 34 .compose(RxHelper.<JsonObject>rxSchedulerHelper());
39 35 }
... ...
app/src/main/java/com/shunzhi/parent/model/consult/consultone/ConsultOneModel.java
... ... @@ -5,8 +5,8 @@ import com.share.mvpsdk.base.BaseModel;
5 5 import com.share.mvpsdk.helper.RetrofitCreateHelper;
6 6 import com.share.mvpsdk.helper.RxHelper;
7 7 import com.shunzhi.parent.AppConfig;
  8 +import com.shunzhi.parent.AppContext;
8 9 import com.shunzhi.parent.api.Consult;
9   -import com.shunzhi.parent.bean.GuangGaoBean;
10 10 import com.shunzhi.parent.contract.consult.consultone.ConsultOneContract;
11 11  
12 12 import io.reactivex.Observable;
... ... @@ -35,6 +35,14 @@ public class ConsultOneModel extends BaseModel implements ConsultOneContract.ICo
35 35 @Override
36 36 public Observable<JsonObject> getConsultContent(String areaName, int channel, int toFirstPage, int pageIndex) {
37 37 return RetrofitCreateHelper.getInstance().createApi(Consult.class, AppConfig.BASE_URL)
38   - .getConsultContent(areaName,channel,toFirstPage,pageIndex);
  38 + .getConsultContent(areaName,channel,toFirstPage,pageIndex).compose(RxHelper.<JsonObject>rxSchedulerHelper());
39 39 }
  40 +
  41 + @Override
  42 + public Observable<JsonObject> getInformationTopic(String keyword, String areaName, String channel, String toFirstPage, int pageIndex) {
  43 + return RetrofitCreateHelper.getInstance().createApi(Consult.class, AppConfig.BASE_URL)
  44 + .getInformationTopic(keyword,areaName,channel,toFirstPage,pageIndex).compose(RxHelper.<JsonObject>rxSchedulerHelper());
  45 + }
  46 +
  47 +
40 48 }
... ...
app/src/main/java/com/shunzhi/parent/presenter/ceping/CePingPresenter.java
1 1 package com.shunzhi.parent.presenter.ceping;
2 2  
  3 +import android.util.Log;
3 4 import android.view.View;
4 5 import android.widget.LinearLayout;
5 6  
... ... @@ -14,7 +15,11 @@ import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
14 15 import com.shunzhi.parent.util.AttrsUtils;
15 16 import com.shunzhi.parent.views.TextAndImgShowView;
16 17  
  18 +import java.util.ArrayList;
  19 +import java.util.List;
  20 +
17 21 import io.reactivex.functions.Consumer;
  22 +import timber.log.Timber;
18 23  
19 24 /**
20 25 * Created by ToaHanDong on 2018/3/14.
... ... @@ -38,29 +43,36 @@ public class CePingPresenter extends CepingContract.CePingPresenter {
38 43 mRxManager.register(mIModel.getTools(areaName).subscribe(new Consumer<JsonObject>() {
39 44 @Override
40 45 public void accept(JsonObject jsonObject) throws Exception {
  46 +
41 47 if (jsonObject.get("status").getAsString().equals("1")){
42 48 JsonArray jsonArray=jsonObject.getAsJsonArray("data");
43 49 layout_control.removeAllViews();
  50 + List<ToolBean> toolBeanList=new ArrayList<>();
44 51 for (int i = 0; i < jsonArray.size(); i++) {
45 52 ToolBean toolBean=new Gson().fromJson(jsonArray.get(i).getAsJsonObject(),ToolBean.class);
46   - TextAndImgShowView textAndImgShowView=new TextAndImgShowView(mIView.getBindActivity());
47   - textAndImgShowView.setTextColor(R.color.textColor);
48   - textAndImgShowView.setText(toolBean.toolName);
49   - textAndImgShowView.addImgs(toolBean.toolImage);
50   - textAndImgShowView.setSelect(true);
51   - textAndImgShowView.setWidth(mIView.getBindActivity(),layout_control);
52   - textAndImgShowView.setBackground(AttrsUtils.getAttrs(mIView.getBindActivity()).getDrawable(0));
53   - textAndImgShowView.setTag(toolBean);
54   - textAndImgShowView.setOnClickListener(new View.OnClickListener() {
55   - @Override
56   - public void onClick(View view) {
57   - ToolBean toolBean1= (ToolBean) view.getTag();
58   - WebViewActivity.getInstance(mIView.getBindActivity(),toolBean1.toolUrl,-1);
59   - }
60   - });
61   - layout_control.addView(textAndImgShowView);
62   - mIView.showTools();
  53 + if (toolBean.columnType.equals("2")){
  54 + TextAndImgShowView textAndImgShowView=new TextAndImgShowView(mIView.getBindActivity());
  55 + textAndImgShowView.setTextColor(R.color.textColor);
  56 + textAndImgShowView.setText(toolBean.toolName);
  57 + textAndImgShowView.addImgs(toolBean.toolImage);
  58 + textAndImgShowView.setSelect(true);
  59 + textAndImgShowView.setWidth(mIView.getBindActivity(),layout_control);
  60 + textAndImgShowView.setBackground(AttrsUtils.getAttrs(mIView.getBindActivity()).getDrawable(0));
  61 + textAndImgShowView.setTag(toolBean);
  62 + textAndImgShowView.setOnClickListener(new View.OnClickListener() {
  63 + @Override
  64 + public void onClick(View view) {
  65 + ToolBean toolBean1= (ToolBean) view.getTag();
  66 + WebViewActivity.getInstance(mIView.getBindActivity(),toolBean1.toolUrl,-1);
  67 + }
  68 + });
  69 + layout_control.addView(textAndImgShowView);
  70 + } else if (toolBean.columnType.equals("1")){
  71 + //活动
  72 + toolBeanList.add(toolBean);
  73 + }
63 74 }
  75 + mIView.showTools(toolBeanList);
64 76 }else {
65 77  
66 78 }
... ... @@ -71,27 +83,5 @@ public class CePingPresenter extends CepingContract.CePingPresenter {
71 83  
72 84 }
73 85 }));
74   - /*List<ToolBean> toolBeanList=new ArrayList<>();
75   - toolBeanList.add(new ToolBean(R.drawable.gxzt+"","高校直通"));
76   - toolBeanList.add(new ToolBean(R.drawable.zycx+"","专业查询"));
77   - toolBeanList.add(new ToolBean(R.drawable.cmyk+"","传媒艺考"));
78   - toolBeanList.add(new ToolBean(R.drawable.phb+"","排行榜"));
79   - for (int i = 0; i < toolBeanList.size(); i++) {
80   - TextAndImgShowView textAndImgShowView=new TextAndImgShowView(mIView.getBindActivity());
81   - textAndImgShowView.setTextColor(R.color.textColor);
82   - textAndImgShowView.setText(toolBeanList.get(i).toolName);
83   - textAndImgShowView.setImgs(R.drawable.play, Integer.parseInt(toolBeanList.get(i).toolImage));
84   - textAndImgShowView.setSelect(true);
85   - textAndImgShowView.setWidth(mIView.getBindActivity(),layout_control);
86   - textAndImgShowView.setBackground(AttrsUtils.getAttrs(mIView.getBindActivity()).getDrawable(0));
87   - textAndImgShowView.setOnClickListener(new View.OnClickListener() {
88   - @Override
89   - public void onClick(View view) {
90   -
91   - }
92   - });
93   - layout_control.addView(textAndImgShowView);
94   - }*/
95   -// mIView.showTools(toolBeanList);
96 86 }
97 87 }
... ...
app/src/main/java/com/shunzhi/parent/presenter/consult/ConsultPresenter.java
1 1 package com.shunzhi.parent.presenter.consult;
2 2  
3   -import android.content.res.TypedArray;
4   -import android.util.Log;
5   -import android.util.TypedValue;
6 3 import android.view.View;
7 4 import android.widget.LinearLayout;
8 5  
... ... @@ -10,7 +7,6 @@ import com.google.gson.Gson;
10 7 import com.google.gson.JsonArray;
11 8 import com.google.gson.JsonObject;
12 9 import com.share.mvpsdk.utils.OkHttpExceptionUtil;
13   -import com.share.mvpsdk.utils.ToastUtils;
14 10 import com.shunzhi.parent.R;
15 11 import com.shunzhi.parent.bean.GuangGaoBean;
16 12 import com.shunzhi.parent.bean.ToolBean;
... ... @@ -19,12 +15,9 @@ import com.shunzhi.parent.bean.channel.ChannelContextBean;
19 15 import com.shunzhi.parent.bean.channel.ChannelInfo;
20 16 import com.shunzhi.parent.contract.consult.ConsultContract;
21 17 import com.shunzhi.parent.model.consult.ConsultModel;
22   -import com.shunzhi.parent.ui.activity.consult.ConsultOneLevelActivity;
23 18 import com.shunzhi.parent.util.AttrsUtils;
24 19 import com.shunzhi.parent.views.TextAndImgShowView;
25 20  
26   -import org.json.JSONObject;
27   -
28 21 import java.util.ArrayList;
29 22 import java.util.List;
30 23  
... ... @@ -54,7 +47,7 @@ public class ConsultPresenter extends ConsultContract.ConsultPresenter {
54 47 textAndImgShowView.setOnClickListener(new View.OnClickListener() {
55 48 @Override
56 49 public void onClick(View view) {
57   - ConsultOneLevelActivity.getInstance(mIView.getBindActivity());
  50 +// ConsultOneLevelActivity.getInstance(mIView.getBindActivity());
58 51 }
59 52 });
60 53 layout_control.addView(textAndImgShowView);
... ... @@ -77,7 +70,7 @@ public class ConsultPresenter extends ConsultContract.ConsultPresenter {
77 70 }
78 71 mIView.showBanners(guangGaoBeanList);
79 72 } else {
80   - ToastUtils.showToast(jsonObject.get("message").getAsString());
  73 +// ToastUtils.showToast(jsonObject.get("message").getAsString());
81 74 }
82 75 }
83 76 }, new Consumer<Throwable>() {
... ... @@ -93,7 +86,7 @@ public class ConsultPresenter extends ConsultContract.ConsultPresenter {
93 86 mRxManager.register(mIModel.getContextChannel(areaName, channel, toFirstPage, pageIndex).subscribe(new Consumer<JsonObject>() {
94 87 @Override
95 88 public void accept(JsonObject jsonObject) throws Exception {
96   - ToastUtils.showToast(jsonObject.toString());
  89 +// ToastUtils.showToast(jsonObject.toString());
97 90 JsonObject json=jsonObject.getAsJsonObject("data");
98 91 Gson g=new Gson();
99 92 ChannelInfo channelInfo = g.fromJson(json.toString(),ChannelInfo.class);
... ...
app/src/main/java/com/shunzhi/parent/presenter/consult/consultone/ConsultOnePresenter.java
1 1 package com.shunzhi.parent.presenter.consult.consultone;
2 2  
  3 +import android.util.Log;
3 4 import android.view.View;
4 5 import android.widget.LinearLayout;
5 6  
6 7 import com.google.gson.Gson;
7 8 import com.google.gson.JsonArray;
8 9 import com.google.gson.JsonObject;
  10 +import com.share.mvpsdk.utils.OkHttpExceptionUtil;
9 11 import com.share.mvpsdk.utils.ToastUtils;
10 12 import com.shunzhi.parent.R;
11 13 import com.shunzhi.parent.bean.GuangGaoBean;
12 14 import com.shunzhi.parent.bean.ToolBean;
  15 +import com.shunzhi.parent.bean.channel.ChannelBean;
  16 +import com.shunzhi.parent.bean.channel.ChannelContextBean;
  17 +import com.shunzhi.parent.bean.channel.ChannelInfo;
13 18 import com.shunzhi.parent.contract.consult.consultone.ConsultOneContract;
14 19 import com.shunzhi.parent.model.consult.consultone.ConsultOneModel;
15 20 import com.shunzhi.parent.ui.activity.consult.ConsultTwoLevelActivity;
... ... @@ -20,6 +25,7 @@ import java.util.ArrayList;
20 25 import java.util.List;
21 26  
22 27 import io.reactivex.functions.Consumer;
  28 +import retrofit2.HttpException;
23 29  
24 30 /**
25 31 * Created by ToaHanDong on 2018/3/14.
... ... @@ -46,7 +52,7 @@ public class ConsultOnePresenter extends ConsultOneContract.ConsultOnePresenter{
46 52 textAndImgShowView.setOnClickListener(new View.OnClickListener() {
47 53 @Override
48 54 public void onClick(View view) {
49   - ConsultTwoLevelActivity.getInstance(mIView.getBindActivity());
  55 +// ConsultTwoLevelActivity.getInstance(mIView.getBindActivity());
50 56 }
51 57 });
52 58 }
... ... @@ -67,7 +73,7 @@ public class ConsultOnePresenter extends ConsultOneContract.ConsultOnePresenter{
67 73 }
68 74 mIView.showBanners(guangGaoBeanList);
69 75 }else {
70   - ToastUtils.showToast(jsonObject.get("message").getAsString());
  76 +// ToastUtils.showToast(jsonObject.get("message").getAsString());
71 77 }
72 78 }
73 79 }, new Consumer<Throwable>() {
... ... @@ -80,7 +86,48 @@ public class ConsultOnePresenter extends ConsultOneContract.ConsultOnePresenter{
80 86  
81 87 @Override
82 88 public void getConsultContent(String areaName, int channel, int toFirstPage, int pageIndex) {
  89 + mRxManager.register(mIModel.getConsultContent(areaName, channel, toFirstPage, pageIndex).subscribe(new Consumer<JsonObject>() {
  90 + @Override
  91 + public void accept(JsonObject jsonObject) throws Exception {
  92 + JsonObject json=jsonObject.getAsJsonObject("data");
  93 + Gson g=new Gson();
  94 + ChannelInfo channelInfo = g.fromJson(json.toString(),ChannelInfo.class);
  95 +// Log.e("ssss-===",channelInfo.toString());
  96 + List<ChannelContextBean> contextList = channelInfo.getChannelContent();
  97 + List<ChannelBean> channelList = channelInfo.getSubchannel();
  98 + mIView.showChannel(channelList);
  99 + mIView.showConsultContent(contextList);
  100 + }
  101 + }, new Consumer<Throwable>() {
  102 + @Override
  103 + public void accept(Throwable throwable) throws Exception {
  104 + OkHttpExceptionUtil.handOkHttpException((HttpException) throwable);
  105 + }
  106 + }));
  107 +
  108 +
  109 + }
83 110  
  111 + @Override
  112 + public void getInformationTopic(String keyword, String areaName, String channel, String toFirstPage,int pageIndex) {
  113 + mRxManager.register(mIModel.getInformationTopic(keyword,areaName,channel,toFirstPage,pageIndex).subscribe(new Consumer<JsonObject>() {
  114 + @Override
  115 + public void accept(JsonObject jsonObject) throws Exception {
  116 + JsonObject json=jsonObject.getAsJsonObject("data");
  117 + Gson g=new Gson();
  118 + ChannelInfo channelInfo = g.fromJson(json.toString(),ChannelInfo.class);
  119 +// Log.e("ssss-===",channelInfo.toString());
  120 + List<ChannelContextBean> contextList = channelInfo.getChannelContent();
  121 + List<ChannelBean> channelList = channelInfo.getSubchannel();
  122 + mIView.showChannel(channelList);
  123 + mIView.showConsultContent(contextList);
  124 + }
  125 + }, new Consumer<Throwable>() {
  126 + @Override
  127 + public void accept(Throwable throwable) throws Exception {
  128 + OkHttpExceptionUtil.handOkHttpException((HttpException) throwable);
  129 + }
  130 + }));
84 131 }
85 132  
86 133  
... ...
app/src/main/java/com/shunzhi/parent/presenter/loginandregister/LoginAndRegisterPresenter.java
... ... @@ -13,16 +13,19 @@ import com.shunzhi.parent.bean.CurrentBean;
13 13 import com.shunzhi.parent.bean.NIMLoginResultBean;
14 14 import com.shunzhi.parent.bean.UserInfo;
15 15 import com.shunzhi.parent.contract.loginandregister.LoginAndRegisterContract;
16   -import com.shunzhi.parent.manager.MessageManager;
17 16 import com.shunzhi.parent.model.loginandregister.LoginAndRegisterModel;
18 17 import com.shunzhi.parent.ui.fragment.loginandregistfragment.LoginAndRegistFragment;
19 18 import com.shunzhi.parent.util.Utils;
20 19  
  20 +import org.json.JSONObject;
  21 +
21 22 import java.util.regex.Matcher;
22 23 import java.util.regex.Pattern;
23 24  
24 25 import io.reactivex.functions.Consumer;
  26 +import okhttp3.ResponseBody;
25 27 import retrofit2.HttpException;
  28 +import retrofit2.Response;
26 29 import timber.log.Timber;
27 30  
28 31 /**
... ... @@ -36,7 +39,8 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
36 39 @Override
37 40 public void loginResult(final String loginName, final String loginPwd) {
38 41 if (!isMate(loginName, REGEX_MOBILE)) {
39   - ToastUtils.showToast("请输入正确的手机号!!");
  42 +
  43 + mIView.showerror("请输入正确的手机号!!");
40 44 return;
41 45 }
42 46  
... ... @@ -46,7 +50,6 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
46 50 mRxManager.register(mIModel.getLoginResult(loginName, loginPwd).subscribe(new Consumer<JsonObject>() {
47 51 @Override
48 52 public void accept(JsonObject jsonObject) throws Exception {
49   - Timber.i("---=== loginResult :%s", jsonObject);
50 53 try {
51 54 if (jsonObject != null && !TextUtils.isEmpty(jsonObject.get("access_token").getAsString())) {
52 55 AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.ACCESS_TOKEN, jsonObject.get("access_token").getAsString());
... ... @@ -65,9 +68,21 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
65 68 }, new Consumer<Throwable>() {
66 69 @Override
67 70 public void accept(Throwable throwable) throws Exception {
68   - if (null != throwable)
69   - OkHttpExceptionUtil.handOkHttpException((HttpException) throwable);
70   -// ToastUtils.showToast(throwable.getMessage());
  71 + Response response = ((HttpException) throwable).response();
  72 + if (response == null) return;
  73 + ResponseBody responseBody = response.errorBody();
  74 + if (responseBody == null) return;
  75 + try {
  76 + JSONObject json = new JSONObject(responseBody.string());
  77 +// ToastUtils.showToast(json.optString("message")+"json="+json);
  78 + if (TextUtils.isEmpty(json.optString("error"))) {
  79 + mIView.showerror(json.optString("message"));
  80 + return;
  81 + }
  82 + mIView.showerror(json.optString("error"));
  83 + } catch (Exception e1) {
  84 + e1.printStackTrace();
  85 + }
71 86 }
72 87 }));
73 88  
... ... @@ -89,7 +104,6 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
89 104 @Override
90 105 public void accept(JsonObject jsonObject) throws Exception {
91 106 //TODO 注册成功返回
92   - Log.e("1111", jsonObject.toString());
93 107 AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_NAME, adminName);
94 108 // AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_PWD, password);
95 109 mIView.getUserInfo(1);
... ... @@ -97,8 +111,17 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
97 111 }, new Consumer<Throwable>() {
98 112 @Override
99 113 public void accept(Throwable throwable) throws Exception {
100   - LoginAndRegistFragment.progressDialog.dismiss();
101   - OkHttpExceptionUtil.handOkHttpException((HttpException) throwable);
  114 + Response response = ((HttpException) throwable).response();
  115 + if (response == null) return;
  116 + ResponseBody responseBody = response.errorBody();
  117 + if (responseBody == null) return;
  118 + try {
  119 + JSONObject json = new JSONObject(responseBody.string());
  120 +// ToastUtils.showToast(json.optString("message")+"json="+json);
  121 + mIView.showerror(json.optString("message"));
  122 + } catch (Exception e1) {
  123 + e1.printStackTrace();
  124 + }
102 125 }
103 126 }));
104 127  
... ... @@ -134,7 +157,6 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
134 157 mRxManager.register(mIModel.getUserInfo(mobile, school_id, captcha).subscribe(new Consumer<UserInfo>() {
135 158 @Override
136 159 public void accept(UserInfo userInfo) throws Exception {
137   - Log.d("6666", "userInfo=" + userInfo.toString());
138 160 if (userInfo != null) {
139 161 CurrentBean currentBean = userInfo.getData();
140 162 AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_NAME, currentBean.getMobile());
... ... @@ -143,9 +165,15 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
143 165 AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.USER_SEX, String.valueOf(currentBean.getSex()));
144 166 AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.PARENT_ID, String.valueOf(currentBean.getParentId()));
145 167 AppConfig.getAppConfig(AppContext.getContext()).set(AppConfig.USER_ID, currentBean.getUserid());
  168 +
  169 + if (currentBean.getStudentClass() != null && currentBean.getStudentClass().size() > 0) {
  170 + AppConfig.ISBINDING = true;
  171 + }
  172 +
146 173 String account = currentBean.getUserid();
147 174 String token = Utils.MD5(account);
148 175 nimLogin(account, token);
  176 +
149 177 mIView.getUserInfo(0);
150 178  
151 179 } else {
... ... @@ -156,8 +184,19 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
156 184 }, new Consumer<Throwable>() {
157 185 @Override
158 186 public void accept(Throwable throwable) throws Exception {
159   - LoginAndRegistFragment.progressDialog.dismiss();
160   - OkHttpExceptionUtil.handOkHttpException((HttpException) throwable);
  187 + Response response = ((HttpException) throwable).response();
  188 + if (response == null) return;
  189 + ResponseBody responseBody = response.errorBody();
  190 + if (responseBody == null) return;
  191 + try {
  192 + JSONObject json = new JSONObject(responseBody.string());
  193 +// ToastUtils.showToast(json.optString("message")+"json="+json);
  194 + mIView.showerror(json.optString("message"));
  195 + } catch (Exception e1) {
  196 + e1.printStackTrace();
  197 + }
  198 +
  199 +// OkHttpExceptionUtil.handOkHttpException((HttpException) throwable);
161 200 }
162 201 }));
163 202 }
... ...
app/src/main/java/com/shunzhi/parent/presenter/mine/MyChildPresenter.java
1 1 package com.shunzhi.parent.presenter.mine;
2 2  
  3 +import android.util.Log;
  4 +
3 5 import com.google.gson.JsonObject;
4 6 import com.share.mvpsdk.utils.OkHttpExceptionUtil;
5 7 import com.share.mvpsdk.utils.ToastUtils;
... ... @@ -47,14 +49,14 @@ public class MyChildPresenter extends MyChildContract.MyChildPresenter {
47 49 }, new Consumer<Throwable>() {
48 50 @Override
49 51 public void accept(Throwable throwable) throws Exception {
50   - Response response = ((HttpException)throwable).response();
51   - if (response==null)return;
  52 + Response response = ((HttpException) throwable).response();
  53 + if (response == null) return;
52 54 ResponseBody responseBody = response.errorBody();
53   - if (responseBody==null)return;
  55 + if (responseBody == null) return;
54 56 try {
55 57 JSONObject json = new JSONObject(responseBody.string());
56 58 mIView.showError(json.optString("message"));
57   - } catch (Exception e1) {
  59 + } catch (Exception e1) {
58 60 e1.printStackTrace();
59 61 }
60 62  
... ... @@ -64,12 +66,18 @@ public class MyChildPresenter extends MyChildContract.MyChildPresenter {
64 66 }
65 67  
66 68 @Override
67   - public void addChild( int sex , String studentName,int parentId, boolean mobileFlag, boolean cooperateFlag, int schoolId, int classId, int studentId, String studentUserId) {
68   - mRxManager.register(mIModel.addChildResult(sex,studentName,parentId, mobileFlag, cooperateFlag, schoolId, classId, studentId, studentUserId).subscribe(new Consumer<JsonObject>() {
  69 + public void addChild(int sex, String studentName, int parentId, boolean mobileFlag, boolean cooperateFlag, int schoolId, int classId, int studentId, String studentUserId) {
  70 + mRxManager.register(mIModel.addChildResult(sex, studentName, parentId, mobileFlag, cooperateFlag, schoolId, classId, studentId, studentUserId).subscribe(new Consumer<JsonObject>() {
69 71 @Override
70 72 public void accept(JsonObject jsonObject) throws Exception {
71 73 ToastUtils.showToast("绑定孩子成功");
72   - mIView.addChildSuccess();
  74 + if (jsonObject.get("data").toString().equals("null")) {
  75 + mIView.addChildSuccess("", "");
  76 + } else {
  77 + JsonObject data = jsonObject.getAsJsonObject("data");
  78 + mIView.addChildSuccess(data.get("account").getAsString(), data.get("password").getAsString());
  79 + }
  80 +
73 81 }
74 82 }, new Consumer<Throwable>() {
75 83 @Override
... ...
app/src/main/java/com/shunzhi/parent/presenter/mine/PersonInfoPrasenter.java
... ... @@ -34,7 +34,7 @@ public class PersonInfoPrasenter extends PersonInfoContract.PersonInfoPresenter
34 34 public void accept(JsonObject jsonObject) throws Exception {
35 35 try {
36 36 if(jsonObject!=null&&jsonObject.get("data").getAsBoolean()) {
37   - ToastUtils.showToast(jsonObject.toString());
  37 +// ToastUtils.showToast(jsonObject.toString());
38 38 AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.USER_NAME, parentName);
39 39 AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.USER_SEX, String.valueOf(sex));
40 40 mIView.updateInfo();
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/ChildDetialActivity.java
... ... @@ -3,6 +3,7 @@ package com.shunzhi.parent.ui.activity;
3 3 import android.os.Bundle;
4 4 import android.text.TextUtils;
5 5 import android.view.View;
  6 +import android.widget.ImageView;
6 7 import android.widget.TextView;
7 8  
8 9 import com.google.gson.Gson;
... ... @@ -15,7 +16,8 @@ import com.shunzhi.parent.bean.ChildBean;
15 16 */
16 17  
17 18 public class ChildDetialActivity extends BaseCompatActivity {
18   - TextView child_name, child_school, child_class, school_area, student_code,center_title,back;
  19 + TextView child_name, child_school, child_class, school_area, student_code,center_title;
  20 + ImageView back;
19 21  
20 22 @Override
21 23 protected void initView(Bundle savedInstanceState) {
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/LoginAndRegistActivity.java
1 1 package com.shunzhi.parent.ui.activity;
2 2  
3 3 import android.os.Bundle;
  4 +import android.util.Log;
4 5  
5 6 import com.share.mvpsdk.base.activity.BaseCompatActivity;
6 7 import com.shunzhi.parent.R;
... ... @@ -18,6 +19,7 @@ public class LoginAndRegistActivity extends BaseCompatActivity {
18 19 protected void initView(Bundle savedInstanceState) {
19 20 if (savedInstanceState == null) {
20 21 type = getIntent().getStringExtra("type");
  22 + Log.e("aaa--==",type);
21 23 mFragments[0] = LoginAndRegistFragment.getInstance(type);
22 24 loadRootFragment(R.id.frame, mFragments[0]);
23 25 } else {
... ... @@ -26,6 +28,15 @@ public class LoginAndRegistActivity extends BaseCompatActivity {
26 28 }
27 29  
28 30 @Override
  31 + protected void onResume() {
  32 + super.onResume();
  33 +// type = getIntent().getStringExtra("type");
  34 +// Log.e("aaa--==",type);
  35 +// mFragments[0] = LoginAndRegistFragment.getInstance(type);
  36 +// loadRootFragment(R.id.frame, mFragments[0]);
  37 + }
  38 +
  39 + @Override
29 40 protected int getLayoutId() {
30 41 return R.layout.activity_regist;
31 42 }
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/MyChildActivity.java
... ... @@ -11,6 +11,7 @@ import android.view.LayoutInflater;
11 11 import android.view.View;
12 12 import android.view.ViewGroup;
13 13 import android.view.WindowManager;
  14 +import android.widget.ImageView;
14 15 import android.widget.PopupWindow;
15 16 import android.widget.TextView;
16 17  
... ... @@ -26,6 +27,7 @@ import com.shunzhi.parent.bean.CurrentBean;
26 27 import com.shunzhi.parent.contract.mine.MyChildContract;
27 28 import com.shunzhi.parent.presenter.mine.MyChildPresenter;
28 29 import com.shunzhi.parent.ui.activity.binding.SelectSchoolActivity;
  30 +import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
29 31 import com.yanzhenjie.recyclerview.swipe.SwipeMenu;
30 32 import com.yanzhenjie.recyclerview.swipe.SwipeMenuBridge;
31 33 import com.yanzhenjie.recyclerview.swipe.SwipeMenuCreator;
... ... @@ -43,7 +45,8 @@ import java.util.List;
43 45 public class MyChildActivity extends BaseMVPCompatActivity<MyChildContract.MyChildPresenter, MyChildContract.IMyChildModel>
44 46 implements MyChildContract.IMyChildView, View.OnClickListener {
45 47 SwipeMenuRecyclerView child_recycle;
46   - TextView back, center_title, add_child;
  48 + TextView center_title, add_child, go_buy;
  49 + ImageView back;
47 50 ChildAdapter childAdapter;
48 51 List<ChildBean> currlist = new ArrayList<>();
49 52  
... ... @@ -59,6 +62,7 @@ public class MyChildActivity extends BaseMVPCompatActivity&lt;MyChildContract.MyChi
59 62 add_child = findViewById(R.id.add_child);
60 63 child_recycle = findViewById(R.id.child_recycle);
61 64 back = findViewById(R.id.back_top);
  65 +
62 66 center_title = findViewById(R.id.center_title);
63 67 center_title.setText("我的孩子");
64 68 add_child.setOnClickListener(this);
... ... @@ -119,6 +123,12 @@ public class MyChildActivity extends BaseMVPCompatActivity&lt;MyChildContract.MyChi
119 123 finish();
120 124 } else if (v == add_child) {
121 125 startActivity(new Intent().setClass(MyChildActivity.this, SelectSchoolActivity.class));
  126 + } else if (v == go_buy) {
  127 + Bundle bundle = new Bundle();
  128 + bundle.putString("url", AppConfig.BASE_URL_ORDER + "ParentOrderCenter.aspx?userid=" +
  129 + AppConfig.getAppConfig(this).get(AppConfig.USER_ID));
  130 + bundle.putInt("type",AppConfig.ORDER_CENTER);
  131 + startNewActivity(WebViewActivity.class, bundle);
122 132 }
123 133 }
124 134  
... ... @@ -136,7 +146,7 @@ public class MyChildActivity extends BaseMVPCompatActivity&lt;MyChildContract.MyChi
136 146 }
137 147  
138 148 @Override
139   - public void addChildSuccess() {
  149 + public void addChildSuccess(String account,String password) {
140 150  
141 151 }
142 152  
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/PersonInfoActivity.java
... ... @@ -18,6 +18,7 @@ import com.shunzhi.parent.AppContext;
18 18 import com.shunzhi.parent.R;
19 19 import com.shunzhi.parent.contract.mine.PersonInfoContract;
20 20 import com.shunzhi.parent.presenter.mine.PersonInfoPrasenter;
  21 +import com.shunzhi.parent.util.GlideUtils;
21 22  
22 23 /**
23 24 * Created by Administrator on 2018/3/10 0010.
... ... @@ -56,9 +57,11 @@ public class PersonInfoActivity extends BaseMVPCompatActivity&lt;PersonInfoContract
56 57 private void initInfo() {
57 58 String url = AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.USER_IMAGE);
58 59 if (!TextUtils.isEmpty(url)) {
59   - Glide.with(this).load(url).asBitmap().error(R.drawable.test).centerCrop().into(user_image);
  60 + GlideUtils.showImg(this,user_image,url);
  61 +// Glide.with(this).load(url).asBitmap().error(R.drawable.test).centerCrop().into(user_image);
60 62 } else {
61   - Glide.with(this).load(R.drawable.test).centerCrop().into(user_image);
  63 +// Glide.with(this).load(R.drawable.test).centerCrop().into(user_image);
  64 + GlideUtils.showImg(this,user_image,url);
62 65 }
63 66 user_image.setCornerRadius(20);
64 67 user_image.setOval(true);
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/binding/CheckInfoActivity.java
... ... @@ -9,6 +9,7 @@ import android.view.LayoutInflater;
9 9 import android.view.View;
10 10 import android.view.ViewGroup;
11 11 import android.view.WindowManager;
  12 +import android.widget.ImageView;
12 13 import android.widget.LinearLayout;
13 14 import android.widget.PopupWindow;
14 15 import android.widget.TextView;
... ... @@ -38,8 +39,9 @@ public class CheckInfoActivity extends BaseMVPCompatActivity&lt;MyChildContract.MyC
38 39 int school_id = 0, isNew, classId, studentId;
39 40 String captcha = "";
40 41 LinearLayout iphone_layout;
41   - TextView child_name, child_sex, child_grade, child_class, add_child, user_mobile, back, center_title;
  42 + TextView child_name, child_sex, child_grade, child_class, add_child, user_mobile, center_title;
42 43 ChildBean childBean;
  44 + ImageView back;
43 45  
44 46 @NonNull
45 47 @Override
... ... @@ -99,6 +101,7 @@ public class CheckInfoActivity extends BaseMVPCompatActivity&lt;MyChildContract.MyC
99 101 right_btn.setOnClickListener(new View.OnClickListener() {
100 102 @Override
101 103 public void onClick(View v) {
  104 + popupWindow.dismiss();
102 105 startActivity(new Intent().setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP).setClass(CheckInfoActivity.this, MyChildActivity.class));
103 106 finish();
104 107 }
... ... @@ -149,10 +152,10 @@ public class CheckInfoActivity extends BaseMVPCompatActivity&lt;MyChildContract.MyC
149 152 }
150 153  
151 154 @Override
152   - public void addChildSuccess() {
  155 + public void addChildSuccess(String account,String password) {
153 156 // WebViewActivity.start_show(CheckInfoActivity.this,AppConfig.BINDING_SUCCESS_HEZUO);
154 157 WebViewActivity.getInstance(CheckInfoActivity.this,
155   - AppConfig.BASE_URL_ORDER+"/ParentOrderCenter.aspx?userid="+
  158 + AppConfig.BASE_URL_ORDER+"/RecommendOrder.aspx?userid="+
156 159 AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.USER_ID),AppConfig.BINDING_SUCCESS_HEZUO);
157 160 finish();
158 161  
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/binding/CreateChildInfoActivity.java
... ... @@ -9,6 +9,7 @@ import android.view.ContextMenu;
9 9 import android.view.MenuItem;
10 10 import android.view.View;
11 11 import android.widget.EditText;
  12 +import android.widget.ImageView;
12 13 import android.widget.TextView;
13 14  
14 15 import com.share.mvpsdk.base.BasePresenter;
... ... @@ -35,8 +36,9 @@ public class CreateChildInfoActivity extends BaseMVPCompatActivity&lt;MyChildContra
35 36 implements MyChildContract.IMyChildView, View.OnClickListener {
36 37  
37 38 int type, school_id, sexId, gradeId, classId;
38   - TextView select_sex, select_grade, select_class, add_child, center_title, back;
  39 + TextView select_sex, select_grade, select_class, add_child, center_title;
39 40 EditText child_name;
  41 + ImageView back;
40 42 Map<String, Integer> currMap = new ArrayMap<>();
41 43 List<ChildClass> gradeList = new ArrayList<>();
42 44 List<ChildClass> classList = new ArrayList<>();
... ... @@ -130,8 +132,9 @@ public class CreateChildInfoActivity extends BaseMVPCompatActivity&lt;MyChildContra
130 132 }
131 133  
132 134 @Override
133   - public void addChildSuccess() {
134   - WebViewActivity.getInstance(CreateChildInfoActivity.this,AppConfig.BASE_URL_ORDER+"/ParentOrderCenter.aspx?userid="+AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.USER_ID),AppConfig.BINDING_SUCCESS_NOT);
  135 + public void addChildSuccess(String account,String password) {
  136 + WebViewActivity.startShow(CreateChildInfoActivity.this,AppConfig.BASE_URL_ORDER+"/RecommendOrder.aspx?userid="+
  137 + AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.USER_ID),AppConfig.BINDING_SUCCESS_NOT,account,password,child_name.getText().toString());
135 138 finish();
136 139 }
137 140  
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/binding/InviteCodeActivity.java
... ... @@ -6,6 +6,7 @@ import android.support.annotation.NonNull;
6 6 import android.text.TextUtils;
7 7 import android.view.View;
8 8 import android.widget.EditText;
  9 +import android.widget.ImageView;
9 10 import android.widget.TextView;
10 11  
11 12 import com.share.mvpsdk.base.BasePresenter;
... ... @@ -19,9 +20,10 @@ import com.shunzhi.parent.presenter.mine.MyChildPresenter;
19 20 */
20 21  
21 22 public class InviteCodeActivity extends BaseMVPCompatActivity {
22   - TextView add_child,center_title,back;
  23 + TextView add_child,center_title;
23 24 EditText et_invite_code;
24 25 int school_id;
  26 + ImageView back;
25 27  
26 28 @NonNull
27 29 @Override
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/binding/SelectSchoolActivity.java
... ... @@ -6,6 +6,7 @@ import android.support.annotation.NonNull;
6 6 import android.support.v7.widget.LinearLayoutManager;
7 7 import android.support.v7.widget.RecyclerView;
8 8 import android.view.View;
  9 +import android.widget.ImageView;
9 10 import android.widget.TextView;
10 11  
11 12 import com.share.mvpsdk.base.BasePresenter;
... ... @@ -39,7 +40,8 @@ public class SelectSchoolActivity extends BaseMVPCompatActivity&lt;SchoolListContra
39 40 View.OnClickListener, SchoolListContract.ISchoolListView, CityPickerListener {
40 41  
41 42 private SideBar sideBar;
42   - private TextView dialog, go_next, tvLocalAddress, center_title, back;
  43 + private TextView dialog, go_next, tvLocalAddress, center_title;
  44 + ImageView back;
43 45 private RecyclerView schoollist;
44 46 private List<String> list = new ArrayList<>();
45 47 SchoolListAdapter schoolListAdapter;
... ... @@ -69,7 +71,7 @@ public class SelectSchoolActivity extends BaseMVPCompatActivity&lt;SchoolListContra
69 71 go_next.setOnClickListener(this);
70 72 tvLocalAddress = findViewById(R.id.tvLocalAddress);
71 73 tvLocalAddress.setOnClickListener(this);
72   - tvLocalAddress.setText(AppContext.getInstance().cityName);
  74 + tvLocalAddress.setText(AppContext.getInstance().district);
73 75 setSchoolList();
74 76  
75 77  
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/consult/ConsultOneLevelActivity.java
... ... @@ -2,27 +2,38 @@ package com.shunzhi.parent.ui.activity.consult;
2 2  
3 3 import android.content.Context;
4 4 import android.content.Intent;
5   -import android.support.v7.app.AppCompatActivity;
  5 +import android.support.v4.app.FragmentTransaction;
6 6 import android.os.Bundle;
7 7 import android.view.View;
8 8 import android.widget.EditText;
  9 +import android.widget.FrameLayout;
9 10 import android.widget.ImageView;
10   -import android.widget.TextView;
11 11  
12 12 import com.share.mvpsdk.base.activity.BaseCompatActivity;
  13 +import com.share.mvpsdk.utils.ToastUtils;
13 14 import com.shunzhi.parent.R;
  15 +import com.shunzhi.parent.ui.fragment.consult.ConsultOneLevelFragment;
14 16  
15   -public class ConsultOneLevelActivity extends BaseCompatActivity implements View.OnClickListener{
  17 +public class ConsultOneLevelActivity extends BaseCompatActivity implements View.OnClickListener {
16 18  
17   -
18   - public static void getInstance(Context context){
19   - Intent intent=new Intent(context,ConsultOneLevelActivity.class);
  19 + public static void getInstance(Context context, String channel) {
  20 + Intent intent = new Intent(context, ConsultOneLevelActivity.class);
  21 + intent.putExtra("channel", channel);
20 22 context.startActivity(intent);
21 23 }
22 24  
23 25 EditText et_search;
24 26  
25   - ImageView ivSearch,ivBack;
  27 + ImageView ivSearch, ivBack;
  28 +
  29 + String channel = "";
  30 +
  31 + FrameLayout frame_consult;
  32 +
  33 + FragmentTransaction fragmentTransaction = null;
  34 +
  35 + ConsultOneLevelFragment consultOneLevelFragment = null;
  36 +
26 37 @Override
27 38 protected void initView(Bundle savedInstanceState) {
28 39  
... ... @@ -32,12 +43,22 @@ public class ConsultOneLevelActivity extends BaseCompatActivity implements View.
32 43  
33 44 private void initViews() {
34 45  
35   - et_search=findViewById(R.id.et_search);
36   - ivSearch=findViewById(R.id.ivSearch);
37   - ivBack=findViewById(R.id.ivBack);
  46 + channel = getIntent().getStringExtra("channel");
  47 + consultOneLevelFragment = new ConsultOneLevelFragment();
  48 + et_search = findViewById(R.id.et_search);
  49 + ivSearch = findViewById(R.id.ivSearch);
  50 + ivBack = findViewById(R.id.ivBack);
  51 + frame_consult = findViewById(R.id.frame_consult);
38 52  
39 53 ivSearch.setOnClickListener(this);
40 54 ivBack.setOnClickListener(this);
  55 +
  56 + Bundle bundle = new Bundle();
  57 + bundle.putString("channel", channel);
  58 + consultOneLevelFragment.setArguments(bundle);
  59 + fragmentTransaction = getSupportFragmentManager().beginTransaction();
  60 + fragmentTransaction.add(R.id.frame_consult, consultOneLevelFragment)
  61 + .show(consultOneLevelFragment).commit();
41 62 }
42 63  
43 64 @Override
... ... @@ -47,9 +68,9 @@ public class ConsultOneLevelActivity extends BaseCompatActivity implements View.
47 68  
48 69 @Override
49 70 public void onClick(View view) {
50   - switch (view.getId()){
  71 + switch (view.getId()) {
51 72 case R.id.ivSearch:
52   -
  73 + consultOneLevelFragment.showSearchContent(et_search.getText().toString());
53 74 break;
54 75 case R.id.ivBack:
55 76 finish();
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/consult/ConsultTwoLevelActivity.java
... ... @@ -2,27 +2,26 @@ package com.shunzhi.parent.ui.activity.consult;
2 2  
3 3 import android.content.Context;
4 4 import android.content.Intent;
5   -import android.support.annotation.NonNull;
6 5 import android.os.Bundle;
7   -import android.support.v7.widget.RecyclerView;
  6 +import android.support.annotation.NonNull;
  7 +import android.support.v4.app.FragmentTransaction;
8 8 import android.view.View;
9 9 import android.widget.EditText;
  10 +import android.widget.FrameLayout;
10 11 import android.widget.ImageView;
11   -import android.widget.TextView;
12 12  
13 13 import com.share.mvpsdk.base.BasePresenter;
14 14 import com.share.mvpsdk.base.activity.BaseMVPCompatActivity;
  15 +import com.share.mvpsdk.utils.ToastUtils;
15 16 import com.shunzhi.parent.R;
16   -import com.shunzhi.parent.adapter.MyConsultAdapter;
17   -import com.shunzhi.parent.bean.MyConsultBean;
18   -
19   -import java.util.ArrayList;
20   -import java.util.List;
  17 +import com.shunzhi.parent.ui.fragment.consult.ConsultTwoLevelFragment;
21 18  
22 19 public class ConsultTwoLevelActivity extends BaseMVPCompatActivity implements View.OnClickListener {
23 20  
24   - public static void getInstance(Context context){
  21 + public static void getInstance(Context context,String channel,String titleName){
25 22 Intent intent=new Intent(context,ConsultTwoLevelActivity.class);
  23 + intent.putExtra("channel",channel);
  24 + intent.putExtra("titleName",titleName);
26 25 context.startActivity(intent);
27 26 }
28 27  
... ... @@ -30,6 +29,13 @@ public class ConsultTwoLevelActivity extends BaseMVPCompatActivity implements Vi
30 29  
31 30 EditText et_search;
32 31  
  32 + String channel,titleName;
  33 +
  34 + FrameLayout frame_consult;
  35 +
  36 + ConsultTwoLevelFragment consultTwoLevelFragment;
  37 +
  38 + FragmentTransaction fragmentTransaction=null;
33 39  
34 40 @Override
35 41 protected void initView(Bundle savedInstanceState) {
... ... @@ -43,14 +49,28 @@ public class ConsultTwoLevelActivity extends BaseMVPCompatActivity implements Vi
43 49  
44 50  
45 51 private void initViews() {
46   -
  52 + channel=getIntent().getStringExtra("channel");
  53 + titleName=getIntent().getStringExtra("titleName");
47 54 ivBack = findViewById(R.id.ivBack);
48 55 ivBack.setOnClickListener(this);
49 56  
50 57 et_search = findViewById(R.id.et_search);
  58 + consultTwoLevelFragment=new ConsultTwoLevelFragment();
  59 + et_search=findViewById(R.id.et_search);
  60 + ivSearch=findViewById(R.id.ivSearch);
  61 + ivBack=findViewById(R.id.ivBack);
  62 + frame_consult=findViewById(R.id.frame_consult);
51 63  
52   - ivSearch = findViewById(R.id.ivSearch);
53 64 ivSearch.setOnClickListener(this);
  65 + ivBack.setOnClickListener(this);
  66 +
  67 + Bundle bundle=new Bundle();
  68 + bundle.putString("channel",channel);
  69 + bundle.putString("titleName",titleName);
  70 + consultTwoLevelFragment.setArguments(bundle);
  71 + fragmentTransaction=getSupportFragmentManager().beginTransaction();
  72 + fragmentTransaction.add(R.id.frame_consult,consultTwoLevelFragment)
  73 + .show(consultTwoLevelFragment).commit();
54 74  
55 75 }
56 76  
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/mywebview/WebViewActivity.java
... ... @@ -3,9 +3,7 @@ package com.shunzhi.parent.ui.activity.mywebview;
3 3 import android.content.Context;
4 4 import android.content.Intent;
5 5 import android.graphics.Bitmap;
6   -import android.os.Build;
7 6 import android.os.Bundle;
8   -import android.support.v7.app.AppCompatActivity;
9 7 import android.util.Log;
10 8 import android.view.View;
11 9 import android.webkit.JavascriptInterface;
... ... @@ -13,6 +11,7 @@ import android.webkit.WebChromeClient;
13 11 import android.webkit.WebSettings;
14 12 import android.webkit.WebView;
15 13 import android.webkit.WebViewClient;
  14 +import android.widget.ImageView;
16 15 import android.widget.LinearLayout;
17 16 import android.widget.ProgressBar;
18 17 import android.widget.TextView;
... ... @@ -20,15 +19,19 @@ import android.widget.TextView;
20 19 import com.share.mvpsdk.base.activity.BaseCompatActivity;
21 20 import com.share.mvpsdk.utils.AppUtils;
22 21 import com.share.mvpsdk.utils.NetworkConnectionUtils;
  22 +import com.share.mvpsdk.utils.ToastUtils;
23 23 import com.share.mvpsdk.widgets.NestedScrollWebView;
24 24 import com.shunzhi.parent.AppConfig;
25 25 import com.shunzhi.parent.R;
  26 +import com.shunzhi.parent.ui.MainActivity;
26 27  
27 28 public class WebViewActivity extends BaseCompatActivity {
28 29  
29 30 NestedScrollWebView nesteScrollWebView;
30 31 LinearLayout binding_success, binding_success2;
31   - TextView close,tv_info,zuoye,title_web;
  32 + ImageView close_btn;
  33 + TextView tv_info, zuoye, title_web;
  34 +
32 35 int type;
33 36  
34 37 private ProgressBar pvWeb;
... ... @@ -37,19 +40,47 @@ public class WebViewActivity extends BaseCompatActivity {
37 40 Intent intent = new Intent(context, WebViewActivity.class);
38 41 intent.putExtra("url", url);
39 42 intent.putExtra("type", type);
  43 + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  44 + context.startActivity(intent);
  45 + }
  46 +
  47 + public static void startShow(Context context, String url, int type, String account, String password, String name) {
  48 + Intent intent = new Intent(context, WebViewActivity.class);
  49 + intent.putExtra("url", url);
  50 + intent.putExtra("type", type);
  51 + intent.putExtra("account", account);
  52 + intent.putExtra("password", password);
  53 + intent.putExtra("name", name);
40 54 context.startActivity(intent);
41 55 }
42 56  
  57 +
43 58 @Override
44 59 protected void initView(Bundle savedInstanceState) {
45   - binding_success=findViewById(R.id.binding_success1);
46   - binding_success2=findViewById(R.id.binding_success2);
47   - close = findViewById(R.id.close_btn);
  60 +
  61 +// binding_success = findViewById(R.id.binding_success);
  62 +
  63 + binding_success = findViewById(R.id.binding_success1);
  64 +
  65 + binding_success2 = findViewById(R.id.binding_success2);
  66 + close_btn = findViewById(R.id.close_btn);
48 67 tv_info = findViewById(R.id.tv_info);
49 68 zuoye = findViewById(R.id.zuoye);
50 69 title_web = findViewById(R.id.title_web);
51 70  
52   - nesteScrollWebView = findViewById(R.id.webView);
  71 +
  72 + close_btn.setOnClickListener(new View.OnClickListener() {
  73 + @Override
  74 + public void onClick(View v) {
  75 + onBackPressedSupport();
  76 + }
  77 + });
  78 +
  79 +
  80 + nesteScrollWebView = findViewById(R.id.nesteScrollWebView);
  81 +
  82 +// nesteScrollWebView = findViewById(R.id.webView);
  83 +
53 84 pvWeb = findViewById(R.id.pb_web);
54 85 type = getIntent().getIntExtra("type", 0);
55 86 if (type == AppConfig.BINDING_SUCCESS_HEZUO) {
... ... @@ -61,15 +92,25 @@ public class WebViewActivity extends BaseCompatActivity {
61 92 binding_success.setVisibility(View.GONE);
62 93 binding_success2.setVisibility(View.VISIBLE);
63 94 title_web.setVisibility(View.GONE);
  95 + String account = getIntent().getStringExtra("account");
  96 + String name = getIntent().getStringExtra("name");
  97 + String password = getIntent().getStringExtra("password");
  98 +
  99 + tv_info.setText("生成孩子“" + name + "”账号为:" + account + ",初始密码为:" + password + "(与账号相同)。孩子可以下载“汇作业”app进行使用");
64 100  
65 101 } else if (type == AppConfig.ORDER_CENTER) {
66 102 binding_success.setVisibility(View.GONE);
67 103 binding_success2.setVisibility(View.GONE);
68 104 title_web.setVisibility(View.VISIBLE);
69   - }else {
  105 +
  106 + } else {
70 107 binding_success.setVisibility(View.GONE);
71 108 binding_success2.setVisibility(View.GONE);
72 109 title_web.setVisibility(View.GONE);
  110 + LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) nesteScrollWebView.getLayoutParams();
  111 + lp.setMargins(0, 0, 0, 0);
  112 + nesteScrollWebView.setLayoutParams(lp);
  113 +
73 114 }
74 115  
75 116 initWebView();
... ... @@ -79,7 +120,7 @@ public class WebViewActivity extends BaseCompatActivity {
79 120  
80 121 @Override
81 122 protected int getLayoutId() {
82   - return R.layout.activity_webview;
  123 + return R.layout.activity_web_view;
83 124 }
84 125  
85 126 @Override
... ... @@ -88,6 +129,9 @@ public class WebViewActivity extends BaseCompatActivity {
88 129 nesteScrollWebView.goBack();
89 130 } else {
90 131 super.onBackPressedSupport();
  132 + if(type!=-1&&type!= AppConfig.ORDER_CENTER) {
  133 + startActivity(new Intent().setClass(this, MainActivity.class));
  134 + }
91 135 }
92 136 }
93 137  
... ... @@ -111,6 +155,7 @@ public class WebViewActivity extends BaseCompatActivity {
111 155 });
112 156 }
113 157 }
  158 +
114 159 // 调起支付宝并跳转到指定页面
115 160 private void startAlipayActivity(String url) {
116 161 Intent intent;
... ... @@ -133,7 +178,8 @@ public class WebViewActivity extends BaseCompatActivity {
133 178 nesteScrollWebView.setWebViewClient(new WebViewClient() {
134 179 @Override
135 180 public boolean shouldOverrideUrlLoading(WebView view, String url) {
136   - if (url.startsWith("http"))view.loadUrl(url);
  181 + Log.d("666666", "url=" + url);
  182 + if (url.startsWith("http")) view.loadUrl(url);
137 183 // if (url.contains("platformapi/startapp")) {
138 184 // startAlipayActivity(url);
139 185 // android 6.0 两种方式获取intent都可以跳转支付宝成功,7.1测试不成功
... ... @@ -154,11 +200,20 @@ public class WebViewActivity extends BaseCompatActivity {
154 200 // html加载完成之后,添加监听图片的点击js函数
155 201 addWebImageClickListner(view);
156 202 // toolbar.setTitle(getToolbarTitle());
  203 + if (nesteScrollWebView.canGoBack()) {
  204 + binding_success.setVisibility(View.GONE);
  205 + binding_success2.setVisibility(View.GONE);
  206 + title_web.setVisibility(View.GONE);
  207 + } else {
  208 +
  209 + }
157 210 }
158 211  
159 212 @Override
160 213 public void onPageStarted(WebView view, String url, Bitmap favicon) {
161   - view.getSettings().setJavaScriptEnabled(true);
  214 +// Log.d("666666","onPageStartedurl="+url);
  215 +// if (url.startsWith("http"))view.loadUrl(url);
  216 +// view.getSettings().setJavaScriptEnabled(true);
162 217 super.onPageStarted(view, url, favicon);
163 218 }
164 219  
... ... @@ -190,7 +245,6 @@ public class WebViewActivity extends BaseCompatActivity {
190 245 }
191 246 }
192 247 });
193   -
194 248 nesteScrollWebView.setOnLongClickListener(new View.OnLongClickListener() {
195 249 @Override
196 250 public boolean onLongClick(View v) {
... ... @@ -209,6 +263,8 @@ public class WebViewActivity extends BaseCompatActivity {
209 263 }
210 264  
211 265  
  266 +
  267 +
212 268 /**
213 269 * 初始化WebSetting
214 270 *
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/orderdetail/OrderDetailActivity.java
... ... @@ -17,13 +17,16 @@ import com.share.mvpsdk.base.BasePresenter;
17 17 import com.share.mvpsdk.base.activity.BaseMVPCompatActivity;
18 18 import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter;
19 19 import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder;
  20 +import com.share.mvpsdk.base.adapter.OnItemClickListener;
20 21 import com.share.mvpsdk.utils.DateUtils;
21 22 import com.share.mvpsdk.utils.DisplayUtils;
  23 +import com.shunzhi.parent.AppConfig;
22 24 import com.shunzhi.parent.R;
23 25 import com.shunzhi.parent.bean.orderdetail.OrderDetailBean;
24 26 import com.shunzhi.parent.bean.orderdetail.OrderDetailBeanList;
25 27 import com.shunzhi.parent.contract.orderdetail.OrderDetailContract;
26 28 import com.shunzhi.parent.presenter.orederdetail.OrderDetailPresenter;
  29 +import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
27 30  
28 31 import java.util.List;
29 32  
... ... @@ -119,6 +122,14 @@ public class OrderDetailActivity extends BaseMVPCompatActivity&lt;OrderDetailContra
119 122 tvDate.setText(object.date);
120 123  
121 124 myOrderBeanListAdapter.addAll(object.orderList);
  125 + myOrderBeanListAdapter.setOnItemClickListener(new OnItemClickListener() {
  126 + @Override
  127 + public void onItemClickListener(Object object, int position) {
  128 + OrderDetailBeanList orderDetailBeanList= (OrderDetailBeanList) object;
  129 + WebViewActivity.getInstance(OrderDetailActivity.this,
  130 + AppConfig.BASE_URL_ORDER+"OrderDetail.aspx?orderid="+orderDetailBeanList.id,-1);
  131 + }
  132 + });
122 133  
123 134 }
124 135  
... ... @@ -145,30 +156,47 @@ public class OrderDetailActivity extends BaseMVPCompatActivity&lt;OrderDetailContra
145 156  
146 157 private TextView tvStartTIme_EndTime,tvProductName,tvPayState;
147 158  
  159 + private ImageView ivState;
  160 +
148 161 public MyOrderBeanListViewHolder(View itemView) {
149 162 super(itemView);
150 163 layout_order_list=itemView.findViewById(R.id.layout_order_list);
151 164 tvStartTIme_EndTime=itemView.findViewById(R.id.tvStartTIme_EndTime);
152 165 tvProductName=itemView.findViewById(R.id.tvProductName);
153 166 tvPayState=itemView.findViewById(R.id.tvPayState);
  167 + ivState=itemView.findViewById(R.id.ivState);
154 168 }
155 169  
156 170 @Override
157   - public void onBindViewHolder(OrderDetailBeanList object, int position) {
  171 + public void onBindViewHolder(final OrderDetailBeanList object, final int position) {
158 172 tvStartTIme_EndTime.setText(object.saleStartTime.split(" ")[0]+"-"+
159 173 object.saleEndTime.split(" ")[0]);
160 174 tvProductName.setText(object.productName);
161 175 switch (object.payState){
162 176 case 0://待支付
163 177 tvPayState.setText("待支付");
  178 + ivState.setBackgroundColor(getResources().getColor(R.color.md_red_500));
164 179 break;
165 180 case 1://支付成功
166 181 tvPayState.setText("支付成功");
  182 + ivState.setImageDrawable(getResources().getDrawable(R.drawable.success));
167 183 break;
168 184 case 2://交易关闭
169 185 tvPayState.setText("交易关闭");
  186 + ivState.setBackgroundColor(getResources().getColor(R.color.gray));
  187 + break;
  188 + case 3:
  189 + tvPayState.setText("支付失败");
  190 + ivState.setImageDrawable(getResources().getDrawable(R.drawable.close));
170 191 break;
171 192 }
  193 +
  194 + layout_order_list.setOnClickListener(new View.OnClickListener() {
  195 + @Override
  196 + public void onClick(View view) {
  197 + onItemClickListener.onItemClickListener(object,position);
  198 + }
  199 + });
172 200 }
173 201 }
174 202 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/CePingFragment.java
... ... @@ -9,41 +9,44 @@ import android.support.annotation.NonNull;
9 9 import android.support.annotation.Nullable;
10 10 import android.support.design.widget.FloatingActionButton;
11 11 import android.view.View;
12   -import android.widget.FrameLayout;
13 12 import android.widget.ImageView;
14 13 import android.widget.LinearLayout;
15 14 import android.widget.TextView;
16 15  
  16 +import com.bumptech.glide.Glide;
17 17 import com.share.mvpsdk.base.BasePresenter;
18 18 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
19 19 import com.share.mvpsdk.utils.ToastUtils;
20 20 import com.shunzhi.parent.AppContext;
21 21 import com.shunzhi.parent.R;
  22 +import com.shunzhi.parent.bean.ToolBean;
22 23 import com.shunzhi.parent.contract.ceping.CepingContract;
23 24 import com.shunzhi.parent.presenter.ceping.CePingPresenter;
24 25 import com.shunzhi.parent.ui.activity.MyChildActivity;
  26 +import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
  27 +import com.shunzhi.parent.util.GlideUtils;
25 28 import com.shunzhi.parent.views.TextAndImgShowView;
26 29  
  30 +import java.util.List;
  31 +
27 32 import me.leefeng.citypicker.CityPicker;
28 33 import me.leefeng.citypicker.CityPickerListener;
29 34  
30 35  
31   -public class CePingFragment extends BaseMVPCompatFragment<CepingContract.CePingPresenter,CepingContract.ICePingModel> implements CepingContract.ICePingView
32   - ,View.OnClickListener,CityPickerListener{
33   -
34   - TextView tvLocalAddress;
  36 +public class CePingFragment extends BaseMVPCompatFragment<CepingContract.CePingPresenter, CepingContract.ICePingModel> implements CepingContract.ICePingView
  37 + , View.OnClickListener, CityPickerListener {
35 38  
36   - ImageView ivCamera;
  39 + TextView tvLocalAddress, tvCourse1, tvCourse2, tvCourse3;
37 40  
38   - TextAndImgShowView textAndImg_xqjc,textAndImg_zxlx;
  41 + ImageView ivCamera, ivCourse1, ivCourse2, ivCourse3;
39 42  
40   - FrameLayout frame_hot1;
  43 + TextAndImgShowView textAndImg_xqjc, textAndImg_zxlx;
41 44  
42 45 FloatingActionButton floatingActionButton;
43 46  
44 47 LinearLayout layout_control;
45 48  
46   - CityPicker cityPicker=null;
  49 + CityPicker cityPicker = null;
47 50  
48 51 @Override
49 52 public int getLayoutId() {
... ... @@ -53,25 +56,29 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
53 56 @Override
54 57 public void initUI(View view, @Nullable Bundle savedInstanceState) {
55 58  
56   - ivCamera=view.findViewById(R.id.ivCamera);
57   - tvLocalAddress=view.findViewById(R.id.tvLocalAddress);
58   - textAndImg_xqjc=view.findViewById(R.id.textAndImg_xqjc);
59   - textAndImg_zxlx=view.findViewById(R.id.textAndImg_zxlx);
60   - frame_hot1=view.findViewById(R.id.frame_hot1);
61   - layout_control=view.findViewById(R.id.layout_control);
62   - floatingActionButton=view.findViewById(R.id.floatingActionButton);
  59 + ivCamera = view.findViewById(R.id.ivCamera);
  60 + tvLocalAddress = view.findViewById(R.id.tvLocalAddress);
  61 + textAndImg_xqjc = view.findViewById(R.id.textAndImg_xqjc);
  62 + textAndImg_zxlx = view.findViewById(R.id.textAndImg_zxlx);
  63 + layout_control = view.findViewById(R.id.layout_control);
  64 + floatingActionButton = view.findViewById(R.id.floatingActionButton);
  65 + tvCourse1 = view.findViewById(R.id.tvCourse1);
  66 + tvCourse2 = view.findViewById(R.id.tvCourse2);
  67 + tvCourse3 = view.findViewById(R.id.tvCourse3);
  68 + ivCourse1 = view.findViewById(R.id.ivCourse1);
  69 + ivCourse2 = view.findViewById(R.id.ivCourse2);
  70 + ivCourse3 = view.findViewById(R.id.ivCourse3);
63 71  
64 72 addTools();
65 73  
66   - tvLocalAddress.setText(AppContext.getInstance().cityName);
67 74 textAndImg_xqjc.setTextColor(R.color.white);
68 75 textAndImg_xqjc.setText("学情检测");
69   - textAndImg_xqjc.setImgs(R.drawable.xqjc,R.drawable.xqjc);
  76 + textAndImg_xqjc.setImgs(R.drawable.xqjc, R.drawable.xqjc);
70 77 textAndImg_xqjc.setSelect(true);
71 78  
72 79 textAndImg_zxlx.setText("专项训练");
73 80 textAndImg_zxlx.setTextColor(R.color.white);
74   - textAndImg_zxlx.setImgs(R.drawable.zxlx,R.drawable.zxlx);
  81 + textAndImg_zxlx.setImgs(R.drawable.zxlx, R.drawable.zxlx);
75 82 textAndImg_zxlx.setSelect(true);
76 83  
77 84 initListeners(view);
... ... @@ -81,23 +88,21 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
81 88 startActivity(new Intent().setClass(getActivity(), MyChildActivity.class));
82 89 }
83 90 });
84   -// floatingActionButton.setOnClickListeners(new DragFloatActionButton.OnClickListeners() {
85   -// @Override
86   -// public void onClicks() {
87   -// ToastUtils.showToast("dfafdaf");
88   -// }
89   -// });
90 91 }
91 92  
92 93 private void addTools() {
93   - layout_control.measure(0,0);
94   - mPresenter.getTools(layout_control,AppContext.getInstance().district);
  94 + layout_control.measure(0, 0);
  95 + mPresenter.getTools(layout_control, AppContext.getInstance().district);
95 96  
96 97 }
97 98  
98 99 @Override
99 100 public void onResume() {
100 101 super.onResume();
  102 +// if (!tvLocalAddress.getText().toString().equals(AppContext.getInstance().cityName)){
  103 + tvLocalAddress.setText(AppContext.getInstance().district);
  104 + addTools();
  105 +// }
101 106 }
102 107  
103 108 private void initListeners(View view) {
... ... @@ -112,9 +117,9 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
112 117  
113 118 private void initBroadCast() {
114 119  
115   - IntentFilter intentFilter=new IntentFilter();
116   - intentFilter.addAction(AppContext.LOCATION_CITYNAME+"");
117   - getActivity().registerReceiver(broadcastReceiver,intentFilter);
  120 + IntentFilter intentFilter = new IntentFilter();
  121 + intentFilter.addAction(AppContext.LOCATION_CITYNAME + "");
  122 + getActivity().registerReceiver(broadcastReceiver, intentFilter);
118 123  
119 124 }
120 125  
... ... @@ -124,23 +129,25 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
124 129 return new CePingPresenter();
125 130 }
126 131  
127   -
128 132 @Override
129 133 public void onClick(View view) {
130   - switch (view.getId()){
  134 + switch (view.getId()) {
131 135 case R.id.frame_hot1://热门课程
132   - ToastUtils.showToast("remen1");
  136 + if (tvCourse1.getTag()!=null)
  137 + WebViewActivity.getInstance(getActivity(),tvCourse1.getTag().toString(),-1);
133 138 break;
134 139 case R.id.frame_hot2:
135   - ToastUtils.showToast("remen2");
  140 + if (tvCourse2.getTag()!=null)
  141 + WebViewActivity.getInstance(getActivity(),tvCourse2.getTag().toString(),-1);
136 142 break;
137 143 case R.id.frame_hot3:
138   - ToastUtils.showToast("remen3");
  144 + if (tvCourse3.getTag()!=null)
  145 + WebViewActivity.getInstance(getActivity(),tvCourse3.getTag().toString(),-1);
139 146 break;
140 147 case R.id.tvLocalAddress:
141 148 // AppContext.getInstance().startLocation();
142   - if (null==cityPicker)cityPicker=new CityPicker(getActivity(),this);
143   - if (cityPicker.isShow())cityPicker.close();
  149 + if (null == cityPicker) cityPicker = new CityPicker(getActivity(), this);
  150 + if (cityPicker.isShow()) cityPicker.close();
144 151 else cityPicker.show();
145 152 break;
146 153 case R.id.ivCamera:
... ... @@ -149,10 +156,10 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
149 156 }
150 157 }
151 158  
152   - private BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {
  159 + private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
153 160 @Override
154 161 public void onReceive(Context context, Intent intent) {
155   - if (intent.getAction().equals(AppContext.LOCATION_CITYNAME+"")){
  162 + if (intent.getAction().equals(AppContext.LOCATION_CITYNAME + "")) {
156 163 tvLocalAddress.setText(AppContext.getInstance().cityName);
157 164 }
158 165 }
... ... @@ -161,19 +168,36 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
161 168 @Override
162 169 public void onDestroy() {
163 170 super.onDestroy();
164   - if (null!=broadcastReceiver)getActivity().unregisterReceiver(broadcastReceiver);
165   - if (null!=cityPicker)cityPicker.cancle();
  171 + if (null != broadcastReceiver) getActivity().unregisterReceiver(broadcastReceiver);
  172 + if (null != cityPicker) cityPicker.cancle();
166 173 }
167 174  
168 175 @Override
169 176 public void getCity(String name) {
170   - tvLocalAddress.setText(name.split(" ")[1]);
171   - mPresenter.getTools(layout_control,name.split(" ")[2]);
172   - ToastUtils.showToast(name.split(" ")[2]);
  177 + tvLocalAddress.setText(name.split(" ")[2]);
  178 + mPresenter.getTools(layout_control, name.split(" ")[2]);
  179 + AppContext.getInstance().cityName=name.split(" ")[1];
  180 + AppContext.getInstance().district=name.split(" ")[2];
173 181 }
174 182  
175 183 @Override
176   - public void showTools() {
  184 + public void showTools(List<ToolBean> toolBeanList) {
  185 + if (toolBeanList.size() > 0) {
  186 + tvCourse1.setText(toolBeanList.get(0).toolName);
  187 + GlideUtils.showImg(getActivity(),ivCourse1,toolBeanList.get(0).toolImage);
  188 + tvCourse1.setTag(toolBeanList.get(0).toolUrl);
  189 + }
177 190  
  191 + if (toolBeanList.size() > 1) {
  192 + tvCourse2.setText(toolBeanList.get(1).toolName);
  193 + GlideUtils.showImg(getActivity(),ivCourse2,toolBeanList.get(1).toolImage);
  194 + tvCourse2.setTag(toolBeanList.get(1).toolUrl);
  195 + }
  196 +
  197 + if (toolBeanList.size() > 2) {
  198 + tvCourse3.setText(toolBeanList.get(2).toolName);
  199 + GlideUtils.showImg(getActivity(),ivCourse3,toolBeanList.get(2).toolImage);
  200 + tvCourse3.setTag(toolBeanList.get(2).toolUrl);
  201 + }
178 202 }
179 203 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/ConsultFragment.java
... ... @@ -8,26 +8,28 @@ import android.os.Bundle;
8 8 import android.support.annotation.NonNull;
9 9 import android.support.annotation.Nullable;
10 10 import android.support.v7.widget.LinearLayoutManager;
11   -import android.support.v7.widget.RecyclerView;
12 11 import android.view.View;
13 12 import android.widget.ImageView;
14 13 import android.widget.LinearLayout;
15 14 import android.widget.TextView;
16 15  
17 16 import com.bumptech.glide.Glide;
  17 +import com.jcodecraeer.xrecyclerview.XRecyclerView;
18 18 import com.share.mvpsdk.base.BasePresenter;
19 19 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
20 20 import com.shunzhi.parent.AppConfig;
21 21 import com.shunzhi.parent.AppContext;
22 22 import com.shunzhi.parent.R;
23   -import com.shunzhi.parent.adapter.ContextAdapter;
  23 +import com.shunzhi.parent.adapter.MyConsultAdapter;
24 24 import com.shunzhi.parent.bean.GuangGaoBean;
25 25 import com.shunzhi.parent.bean.channel.ChannelBean;
26 26 import com.shunzhi.parent.bean.channel.ChannelContextBean;
27 27 import com.shunzhi.parent.contract.consult.ConsultContract;
28 28 import com.shunzhi.parent.presenter.consult.ConsultPresenter;
29 29 import com.shunzhi.parent.ui.activity.consult.ConsultOneLevelActivity;
  30 +import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
30 31 import com.shunzhi.parent.util.AttrsUtils;
  32 +import com.shunzhi.parent.util.GlideUtils;
31 33 import com.shunzhi.parent.views.TextAndImgShowView;
32 34 import com.stx.xhb.xbanner.XBanner;
33 35  
... ... @@ -45,9 +47,9 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
45 47  
46 48 XBanner xBanner;
47 49  
48   - RecyclerView recycler_context;
  50 + XRecyclerView recycler_context;
49 51  
50   - ContextAdapter contextAdapter;
  52 + MyConsultAdapter contextAdapter;
51 53  
52 54 List<String> imgesUrl = new ArrayList<>();
53 55 List<String> describeList = new ArrayList<>();
... ... @@ -61,6 +63,9 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
61 63  
62 64 CityPicker cityPicker = null;
63 65  
  66 + int pageIndex = 1;
  67 + boolean first = true;
  68 +
64 69 @Override
65 70 public int getLayoutId() {
66 71 return R.layout.fragment_zi_xun;
... ... @@ -69,7 +74,6 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
69 74 @Override
70 75 public void initUI(View view, @Nullable Bundle savedInstanceState) {
71 76  
72   -
73 77 recycler_context = view.findViewById(R.id.recycler_content);
74 78 initRecycler();
75 79  
... ... @@ -78,15 +82,12 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
78 82 videoplayer = view.findViewById(R.id.videoplayer);
79 83 tvLocalAddress = view.findViewById(R.id.tvLocalAddress);
80 84 layout_control = view.findViewById(R.id.layout_control);
81   -
82   - tvLocalAddress.setText(AppContext.getInstance().cityName);
  85 + tvLocalAddress.setText(AppContext.getInstance().district);
83 86 videoplayer.batteryLevel.setVisibility(View.GONE);
84 87 videoplayer.replayTextView.setVisibility(View.GONE);
85 88 videoplayer.backButton.setVisibility(View.GONE);
86 89  
87   -// mPresenter.getTools(layout_control);
88   - mPresenter.getBanners("2", "余杭区");
89   - mPresenter.getContextChannel("余杭区", 0, 1, 1);
  90 + mPresenter.getBanners("2", AppContext.getInstance().district);
90 91  
91 92 initBroadCast();
92 93  
... ... @@ -95,8 +96,26 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
95 96  
96 97 private void initRecycler() {
97 98 recycler_context.setLayoutManager(new LinearLayoutManager(getActivity()));
98   - contextAdapter = new ContextAdapter(getActivity());
  99 + recycler_context.setLoadingListener(new XRecyclerView.LoadingListener() {
  100 + @Override
  101 + public void onRefresh() {
  102 + //refresh data here
  103 + pageIndex = 1;
  104 + contextList.clear();
  105 + mPresenter.getContextChannel(AppContext.getInstance().district, 0, 1, pageIndex);
  106 + recycler_context.refreshComplete();
  107 + }
99 108  
  109 + @Override
  110 + public void onLoadMore() {
  111 + // load more data here
  112 + pageIndex = pageIndex + 1;
  113 + mPresenter.getContextChannel(AppContext.getInstance().district, 0, 1, pageIndex);
  114 + recycler_context.refreshComplete();
  115 + }
  116 + });
  117 + pageIndex = 1;
  118 + mPresenter.getContextChannel(AppContext.getInstance().district, 0, 1, pageIndex);
100 119 }
101 120  
102 121 private void initListeners() {
... ... @@ -109,8 +128,14 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
109 128 xBanner.setmAdapter(new XBanner.XBannerAdapter() {
110 129 @Override
111 130 public void loadBanner(XBanner banner, Object model, View view, int position) {
112   - Glide.with(getActivity()).load(imgesUrl.get(position)).placeholder(R.drawable.ic_launcher_background)
113   - .into((ImageView) view);
  131 + GlideUtils.showImg(getActivity(),(ImageView) view,imgesUrl.get(position));
  132 + }
  133 + });
  134 +
  135 + xBanner.setOnItemClickListener(new XBanner.OnItemClickListener() {
  136 + @Override
  137 + public void onItemClick(XBanner banner, int position) {
  138 + WebViewActivity.getInstance(getContext(), describeList.get(position), -1);
114 139 }
115 140 });
116 141  
... ... @@ -149,7 +174,6 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
149 174 }
150 175 }
151 176  
152   -
153 177 private void initBroadCast() {
154 178  
155 179 IntentFilter intentFilter = new IntentFilter();
... ... @@ -162,7 +186,7 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
162 186 @Override
163 187 public void onReceive(Context context, Intent intent) {
164 188 if (intent.getAction().equals(AppContext.LOCATION_CITYNAME + "")) {
165   - tvLocalAddress.setText(AppContext.getInstance().cityName);
  189 + tvLocalAddress.setText(AppContext.getInstance().district);
166 190 }
167 191 }
168 192 };
... ... @@ -181,50 +205,63 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
181 205  
182 206 @Override
183 207 public void showBanners(List<GuangGaoBean> guangGaoBeanList) {
  208 + describeList.clear();
  209 + imgesUrl.clear();
184 210 for (int i = 0; i < guangGaoBeanList.size(); i++) {
185   - imgesUrl.add(AppConfig.BASE_URL_IMG + guangGaoBeanList.get(i).fileSrc);
  211 + imgesUrl.add(AppConfig.BASE_URL_FILE + guangGaoBeanList.get(i).fileSrc);
186 212 describeList.add(guangGaoBeanList.get(i).describe);
187 213 }
188 214 initBanners();
189 215 }
190 216  
191 217 @Override
192   - public void showChannel(List<ChannelBean> list) {
193   - for (int i = 0; i < list.size(); i++) {
194   - TextAndImgShowView textAndImgShowView = new TextAndImgShowView(getActivity());
195   - textAndImgShowView.setTextColor(R.color.textColor);
196   - textAndImgShowView.setText(list.get(i).getChannelName());
197   -// textAndImgShowView.setImgs(R.drawable.play, Integer.parseInt(list.get(i).getChannelImage()));
198   - textAndImgShowView.addImgs(list.get(i).getChannelImage());
199   - textAndImgShowView.setSelect(true);
200   - textAndImgShowView.setWidth(getActivity(), layout_control);
201   - textAndImgShowView.setBackground(AttrsUtils.getAttrs(getActivity()).getDrawable(0));
202   - textAndImgShowView.setOnClickListener(new View.OnClickListener() {
203   - @Override
204   - public void onClick(View view) {
205   - ConsultOneLevelActivity.getInstance(getActivity());
206   - }
207   - });
208   - layout_control.addView(textAndImgShowView);
  218 + public void showChannel(final List<ChannelBean> list) {
  219 + if (first) {
  220 + layout_control.removeAllViews();
  221 + for (int i = 0; i < list.size(); i++) {
  222 + TextAndImgShowView textAndImgShowView = new TextAndImgShowView(getActivity());
  223 + textAndImgShowView.setTextColor(R.color.textColor);
  224 + textAndImgShowView.setText(list.get(i).getChannelName());
  225 + textAndImgShowView.addImgs(list.get(i).getChannelImage());
  226 + textAndImgShowView.setSelect(true);
  227 + textAndImgShowView.setWidth(getActivity(), layout_control);
  228 + textAndImgShowView.setBackground(AttrsUtils.getAttrs(getActivity()).getDrawable(0));
  229 + textAndImgShowView.setTag(list.get(i));
  230 + textAndImgShowView.setOnClickListener(new View.OnClickListener() {
  231 + @Override
  232 + public void onClick(View view) {
  233 + ChannelBean channelBean = (ChannelBean) view.getTag();
  234 + ConsultOneLevelActivity.getInstance(getActivity(), channelBean.getId() + "");
  235 + }
  236 + });
  237 + layout_control.addView(textAndImgShowView);
  238 + }
  239 + first = false;
209 240 }
210 241  
211 242  
212   -
213   -
214 243 }
215 244  
216 245 @Override
217 246 public void showContext(List<ChannelContextBean> list) {
218   - contextList.clear();
219 247 contextList.addAll(list);
220   - contextAdapter.addAll(contextList);
221   - recycler_context.setAdapter(contextAdapter);
222   -
223   -
  248 + if (contextAdapter == null) {
  249 + contextAdapter = new MyConsultAdapter(getActivity());
  250 + contextAdapter.addAll(contextList);
  251 + recycler_context.setAdapter(contextAdapter);
  252 + } else {
  253 + contextAdapter.addAll(contextList);
  254 + contextAdapter.notifyDataSetChanged();
  255 + }
224 256 }
225 257  
226 258 @Override
227 259 public void getCity(String name) {
228   - tvLocalAddress.setText(name.split(" ")[1]);
  260 + first=true;
  261 + tvLocalAddress.setText(name.split(" ")[2]);
  262 + mPresenter.getBanners("2", name.split(" ")[2]);
  263 + mPresenter.getContextChannel(name.split(" ")[2], 0, 1, 1);
  264 + AppContext.getInstance().cityName = name.split(" ")[1];
  265 + AppContext.getInstance().district = name.split(" ")[2];
229 266 }
230 267 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/MineFragment.java
1 1 package com.shunzhi.parent.ui.fragment;
2 2  
  3 +import android.app.AlertDialog;
  4 +import android.content.DialogInterface;
3 5 import android.content.Intent;
4 6 import android.os.Bundle;
5 7 import android.support.annotation.NonNull;
... ... @@ -9,11 +11,10 @@ import android.view.View;
9 11 import android.widget.LinearLayout;
10 12 import android.widget.TextView;
11 13  
12   -import com.bumptech.glide.Glide;
13 14 import com.makeramen.roundedimageview.RoundedImageView;
14 15 import com.share.mvpsdk.base.BasePresenter;
15 16 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
16   -import com.share.mvpsdk.utils.ToastUtils;
  17 +import com.share.mvpsdk.utils.CacheUtils;
17 18 import com.shunzhi.parent.AppConfig;
18 19 import com.shunzhi.parent.AppContext;
19 20 import com.shunzhi.parent.R;
... ... @@ -25,12 +26,13 @@ import com.shunzhi.parent.ui.activity.MyChildActivity;
25 26 import com.shunzhi.parent.ui.activity.PersonInfoActivity;
26 27 import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
27 28 import com.shunzhi.parent.ui.activity.orderdetail.OrderDetailActivity;
  29 +import com.shunzhi.parent.util.GlideUtils;
28 30  
29 31 public class MineFragment extends BaseMVPCompatFragment<LoginAndRegisterContract.LoginPresenter, LoginAndRegisterContract.ILoginModel>
30 32 implements MineContract.IMineView, View.OnClickListener {
31   - LinearLayout childlayout, personinfo, layout_orderDetail, layout_order;
  33 + LinearLayout childlayout, personinfo, layout_orderDetail, layout_order, layout_cache, layout_about,layoutAdvice;
32 34 RoundedImageView user_photo;
33   - TextView user_name, user_mobile;
  35 + TextView user_name, user_mobile, tvExit, binding_state;
34 36  
35 37 @NonNull
36 38 @Override
... ... @@ -49,6 +51,12 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
49 51 personinfo = view.findViewById(R.id.personinfo);
50 52 layout_order = view.findViewById(R.id.layout_order);
51 53 layout_orderDetail = view.findViewById(R.id.layout_orderDetail);
  54 + layout_cache = view.findViewById(R.id.layout_cache);
  55 + layout_about = view.findViewById(R.id.layout_about);
  56 + layoutAdvice=view.findViewById(R.id.layoutAdvice);
  57 + layoutAdvice.setOnClickListener(this);
  58 + layout_about.setOnClickListener(this);
  59 + layout_cache.setOnClickListener(this);
52 60 childlayout.setOnClickListener(this);
53 61 personinfo.setOnClickListener(this);
54 62 layout_order.setOnClickListener(this);
... ... @@ -56,17 +64,22 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
56 64 user_photo = view.findViewById(R.id.user_photo);
57 65 user_name = view.findViewById(R.id.user_name);
58 66 user_mobile = view.findViewById(R.id.user_mobile);
  67 + tvExit = view.findViewById(R.id.tvExit);
  68 + tvExit.setOnClickListener(this);
  69 + binding_state = view.findViewById(R.id.binding_state);
  70 + if (AppConfig.ISBINDING) {
  71 + binding_state.setText("");
  72 + }
59 73  
60 74 }
61 75  
62   - private void setPersonInfo() {
  76 + private void setPersonInfo() {
63 77 if (AppConfig.ISLOGIN) {
64 78 String url = AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.USER_IMAGE);
65   - ToastUtils.showToast(url);
66 79 if (!TextUtils.isEmpty(url)) {
67   - Glide.with(getActivity()).load(url).asBitmap().error(R.drawable.test).centerCrop().into(user_photo);
  80 + GlideUtils.showImg(getContext(),user_photo,url);
68 81 } else {
69   - Glide.with(getActivity()).load(R.drawable.test).centerCrop().into(user_photo);
  82 + GlideUtils.showImg(getContext(),user_photo,url);
70 83 user_photo.setCornerRadius(20);
71 84 }
72 85 user_photo.setCornerRadius(20);
... ... @@ -74,6 +87,9 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
74 87 user_name.setText(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.USER_NAME));
75 88 user_mobile.setText(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.LOGIN_NAME));
76 89 user_mobile.setVisibility(View.VISIBLE);
  90 + }else {
  91 + user_name.setVisibility(View.VISIBLE);
  92 + user_mobile.setVisibility(View.GONE);
77 93 }
78 94 }
79 95  
... ... @@ -97,14 +113,66 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
97 113 Bundle bundle = new Bundle();
98 114 bundle.putString("url", AppConfig.BASE_URL_ORDER + "ParentOrderCenter.aspx?userid=" +
99 115 AppConfig.getAppConfig(getContext()).get(AppConfig.USER_ID));
100   - bundle.putInt("type",AppConfig.ORDER_CENTER);
  116 + bundle.putInt("type", AppConfig.ORDER_CENTER);
101 117 startNewActivity(WebViewActivity.class, bundle);
102 118 break;
  119 + case R.id.tvExit:
  120 + clearUerinfo();
  121 + break;
  122 + case R.id.layout_cache:
  123 + clearMyCache();
  124 + break;
  125 + case R.id.layout_about:
  126 + WebViewActivity.getInstance(getActivity(),AppConfig.BASE_URL_ORDER+"About.html",-1);
  127 + break;
  128 + case R.id.layoutAdvice:
  129 + WebViewActivity.getInstance(getActivity(),AppConfig.BASE_URL_ORDER+"FeedBack.aspx?userid="+AppConfig.getAppConfig(getContext()).get(AppConfig.USER_ID),-1);
  130 + break;
103 131 default:
104 132 break;
105 133 }
106 134 }
107 135  
  136 + private void clearMyCache() {
  137 +
  138 + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
  139 + try {
  140 + builder.setMessage("清理缓存" + CacheUtils.getCacheSize(getActivity()) + "")
  141 + .setPositiveButton("取消", new DialogInterface.OnClickListener() {
  142 + @Override
  143 + public void onClick(DialogInterface dialogInterface, int i) {
  144 + dialogInterface.dismiss();
  145 + }
  146 + })
  147 + .setNegativeButton("确定", new DialogInterface.OnClickListener() {
  148 + @Override
  149 + public void onClick(DialogInterface dialogInterface, int i) {
  150 + try {
  151 + CacheUtils.clearCache(getActivity());
  152 + } catch (Exception e) {
  153 + e.printStackTrace();
  154 + }
  155 + dialogInterface.dismiss();
  156 + }
  157 + });
  158 + } catch (Exception e) {
  159 + e.printStackTrace();
  160 + }
  161 + builder.create().show();
  162 + }
  163 +
  164 + private void clearUerinfo() {
  165 + if(AppConfig.ISLOGIN) {
  166 + AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.USER_IMAGE, "");
  167 + AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.USER_NAME, "");
  168 + AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_NAME, "");
  169 + AppConfig.ISLOGIN = false;
  170 + setPersonInfo();
  171 + startActivity(new Intent().putExtra("type", "登录").setClass(getActivity(), LoginAndRegistActivity.class));
  172 + getActivity().finish();
  173 + }
  174 + }
  175 +
108 176 @Override
109 177 public void onResume() {
110 178 super.onResume();
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java
... ... @@ -36,7 +36,7 @@ public class ReportFragment extends BaseMVPCompatFragment&lt;ReportContract.ReportP
36 36  
37 37 MaterialCalendarView calendarView_month_mode;
38 38  
39   - TextView tvDate,tvShaiXuan;
  39 + TextView tvDate,tvShaiXuan,tvNoData;
40 40  
41 41 ShaiXuanPop shaiXuanPop=null;
42 42  
... ... @@ -57,6 +57,7 @@ public class ReportFragment extends BaseMVPCompatFragment&lt;ReportContract.ReportP
57 57 calendarView_month_mode = view.findViewById(R.id.calendarView_month_mode);
58 58 tvDate = view.findViewById(R.id.tvDate);
59 59 tvShaiXuan=view.findViewById(R.id.tvShaiXuan);
  60 + tvNoData=view.findViewById(R.id.tvNoData);
60 61  
61 62 LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
62 63 layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
... ... @@ -117,6 +118,7 @@ public class ReportFragment extends BaseMVPCompatFragment&lt;ReportContract.ReportP
117 118 @Override
118 119 public void showReports(List<String> stringList) {
119 120 if (null!=shaiXuanPop){
  121 + if (stringList.size()>0)tvNoData.setVisibility(View.GONE);
120 122 shaiXuanPop.setDatas(stringList);
121 123 shaiXuanPop.show(tvShaiXuan);
122 124 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/StartFragment.java
... ... @@ -5,13 +5,16 @@ import android.support.annotation.NonNull;
5 5 import android.support.annotation.Nullable;
6 6 import android.support.v4.view.ViewPager;
7 7 import android.text.TextUtils;
  8 +import android.util.Log;
8 9 import android.view.View;
9 10 import android.widget.ImageView;
  11 +import android.widget.TextView;
10 12  
11 13 import com.bumptech.glide.Glide;
12 14 import com.share.mvpsdk.base.BasePresenter;
13 15 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
14 16 import com.shunzhi.parent.AppConfig;
  17 +import com.shunzhi.parent.AppContext;
15 18 import com.shunzhi.parent.R;
16 19 import com.shunzhi.parent.bean.GuangGaoBean;
17 20 import com.shunzhi.parent.bean.channel.ChannelBean;
... ... @@ -19,6 +22,7 @@ import com.shunzhi.parent.bean.channel.ChannelContextBean;
19 22 import com.shunzhi.parent.contract.consult.ConsultContract;
20 23 import com.shunzhi.parent.presenter.consult.ConsultPresenter;
21 24 import com.shunzhi.parent.ui.MainActivity;
  25 +import com.shunzhi.parent.util.GlideUtils;
22 26 import com.stx.xhb.xbanner.XBanner;
23 27  
24 28 import java.util.ArrayList;
... ... @@ -29,6 +33,8 @@ public class StartFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consult
29 33  
30 34 XBanner xBanner;
31 35  
  36 + TextView tvJump;
  37 +
32 38 @Override
33 39 public int getLayoutId() {
34 40 return R.layout.fragment_start;
... ... @@ -36,11 +42,24 @@ public class StartFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consult
36 42  
37 43 @Override
38 44 public void initUI(View view, @Nullable Bundle savedInstanceState) {
  45 +
39 46 xBanner = view.findViewById(R.id.xBanner);
  47 + tvJump=view.findViewById(R.id.tvJump);
  48 +
40 49 if (!TextUtils.isEmpty(AppConfig.getAppConfig(getContext()).get(AppConfig.APP_IS_START))) {
41   - mPresenter.getBanners("0","杭州");
  50 + mPresenter.getBanners("0", "余杭区");
42 51 AppConfig.getAppConfig(getContext()).set(AppConfig.APP_IS_START, "1");
43   - } else mPresenter.getBanners("1","杭州");
  52 + } else mPresenter.getBanners("1","余杭区");
  53 +
  54 +
  55 + tvJump.setOnClickListener(new View.OnClickListener() {
  56 + @Override
  57 + public void onClick(View view) {
  58 + startNewActivity(MainActivity.class);
  59 + getActivity().finish();
  60 + }
  61 + });
  62 +
44 63 }
45 64  
46 65 @NonNull
... ... @@ -70,42 +89,27 @@ public class StartFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consult
70 89 }
71 90  
72 91 private void initBannes(List<GuangGaoBean> guangGaoBeanList) {
  92 + try {
73 93 final List<String> imgUrl = new ArrayList<>();
74 94 List<String> describeList = new ArrayList<>();
75 95 for (int i = 0; i < guangGaoBeanList.size(); i++) {
76   - imgUrl.add(guangGaoBeanList.get(i).fileSrc);
  96 + imgUrl.add(AppConfig.BASE_URL_FILE+guangGaoBeanList.get(i).fileSrc);
77 97 describeList.add(guangGaoBeanList.get(i).describe);
78 98 }
79 99 xBanner.setData(imgUrl, describeList);
80   - xBanner.setmAutoPlayAble(false);
81   - xBanner.setSlideScrollMode(View.OVER_SCROLL_NEVER);
82   -
  100 + xBanner.stopAutoPlay();
  101 + xBanner.setmAutoPalyTime(10000);
  102 +// xBanner.setSlideScrollMode(View.OVER_SCROLL_NEVER);
83 103 xBanner.setmAdapter(new XBanner.XBannerAdapter() {
84 104 @Override
85 105 public void loadBanner(XBanner banner, Object model, View view, int position) {
86   - Glide.with(getActivity()).load(imgUrl.get(position)).placeholder(R.drawable.ic_launcher_background)
87   - .into((ImageView) view);
  106 + GlideUtils.showImg(getActivity(),(ImageView) view,imgUrl.get(position));
88 107 }
89 108 });
90 109  
91   - xBanner.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
92   - @Override
93   - public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
94   - if (position == imgUrl.size() - 1) {
95   - startNewActivity(MainActivity.class);
96   - }
97   - }
98   -
99   - @Override
100   - public void onPageSelected(int position) {
101   -
102   - }
103   -
104   - @Override
105   - public void onPageScrollStateChanged(int state) {
106   -
107   - }
108   - });
109 110  
  111 + }catch (Exception e){
  112 + e.printStackTrace();
  113 + }
110 114 }
111 115 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/consult/ConsultOneLevelFragment.java
... ... @@ -5,7 +5,6 @@ import android.support.annotation.NonNull;
5 5 import android.support.annotation.Nullable;
6 6 import android.support.v7.widget.LinearLayoutManager;
7 7 import android.support.v7.widget.RecyclerView;
8   -import android.util.Log;
9 8 import android.view.LayoutInflater;
10 9 import android.view.View;
11 10 import android.view.ViewGroup;
... ... @@ -14,19 +13,25 @@ import android.widget.ImageView;
14 13 import android.widget.LinearLayout;
15 14 import android.widget.TextView;
16 15  
17   -import com.bumptech.glide.Glide;
  16 +import com.jcodecraeer.xrecyclerview.XRecyclerView;
18 17 import com.share.mvpsdk.base.BasePresenter;
19 18 import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter;
20 19 import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder;
21 20 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
22 21 import com.share.mvpsdk.utils.DisplayUtils;
23   -import com.shunzhi.parent.AppConfig;
  22 +import com.shunzhi.parent.AppContext;
24 23 import com.shunzhi.parent.R;
25 24 import com.shunzhi.parent.adapter.MyConsultAdapter;
26 25 import com.shunzhi.parent.bean.GuangGaoBean;
27   -import com.shunzhi.parent.bean.MyConsultBean;
  26 +import com.shunzhi.parent.bean.channel.ChannelBean;
  27 +import com.shunzhi.parent.bean.channel.ChannelContextBean;
28 28 import com.shunzhi.parent.contract.consult.consultone.ConsultOneContract;
29 29 import com.shunzhi.parent.presenter.consult.consultone.ConsultOnePresenter;
  30 +import com.shunzhi.parent.ui.activity.consult.ConsultTwoLevelActivity;
  31 +import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
  32 +import com.shunzhi.parent.util.AttrsUtils;
  33 +import com.shunzhi.parent.util.GlideUtils;
  34 +import com.shunzhi.parent.views.TextAndImgShowView;
30 35  
31 36 import java.util.ArrayList;
32 37 import java.util.List;
... ... @@ -34,7 +39,8 @@ import java.util.List;
34 39 public class ConsultOneLevelFragment extends BaseMVPCompatFragment<ConsultOneContract.ConsultOnePresenter,
35 40 ConsultOneContract.IConsultOneModel> implements View.OnClickListener, ConsultOneContract.IConsultOneView {
36 41  
37   - RecyclerView recyclerViewGrally, recyclerViewConsultOne;
  42 + RecyclerView recyclerViewGrally;
  43 + XRecyclerView recyclerViewConsultOne;
38 44  
39 45 MyGrallyAdapter myGrallyAdapter = null;
40 46  
... ... @@ -42,7 +48,12 @@ public class ConsultOneLevelFragment extends BaseMVPCompatFragment&lt;ConsultOneCon
42 48  
43 49 LinearLayout layout_control;
44 50  
45   - List<MyConsultBean> myConsultBeanList = null;
  51 +
  52 + List<ChannelContextBean> myConsultBeanList = new ArrayList<>();
  53 +
  54 + String channel = "";
  55 + int pageIndex;
  56 +
46 57  
47 58 @Override
48 59 public int getLayoutId() {
... ... @@ -51,55 +62,44 @@ public class ConsultOneLevelFragment extends BaseMVPCompatFragment&lt;ConsultOneCon
51 62  
52 63 @Override
53 64 public void initUI(View view, @Nullable Bundle savedInstanceState) {
54   - initViews(view);
  65 + initViews(view);
55 66 }
56 67  
57   - private void initRecyclerView(List<GuangGaoBean> guangGaoBeanList) {
  68 + private void initViews(View view) {
  69 + channel = getArguments().getString("channel");
  70 + layout_control = view.findViewById(R.id.layout_control);
  71 + layout_control.measure(0, 0);
  72 + recyclerViewGrally = view.findViewById(R.id.recyclerViewGrally);
  73 + recyclerViewConsultOne = view.findViewById(R.id.recyclerViewConsultOne);
58 74  
59   - if (null == myGrallyAdapter) myGrallyAdapter = new MyGrallyAdapter();
60   - myGrallyAdapter.addAll(guangGaoBeanList);
61   - recyclerViewGrally.setAdapter(myGrallyAdapter);
62   - recyclerViewGrally.addOnScrollListener(new RecyclerView.OnScrollListener() {
  75 + recyclerViewConsultOne.setLayoutManager(new LinearLayoutManager(getActivity()));
  76 + recyclerViewConsultOne.setLoadingListener(new XRecyclerView.LoadingListener() {
63 77 @Override
64   - public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
65   - super.onScrollStateChanged(recyclerView, newState);
  78 + public void onRefresh() {
  79 + //refresh data here
  80 + pageIndex = 1;
  81 + myConsultBeanList.clear();
  82 + mPresenter.getConsultContent(AppContext.getInstance().district, Integer.parseInt(channel), 0, pageIndex);
  83 + recyclerViewConsultOne.refreshComplete();
66 84 }
67 85  
68 86 @Override
69   - public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
70   - super.onScrolled(recyclerView, dx, dy);
  87 + public void onLoadMore() {
  88 + // load more data here
  89 + pageIndex = pageIndex + 1;
  90 + mPresenter.getConsultContent(AppContext.getInstance().district, Integer.parseInt(channel), 0, pageIndex);
  91 + recyclerViewConsultOne.refreshComplete();
71 92 }
72 93 });
  94 + pageIndex = 1;
  95 + mPresenter.getConsultContent(AppContext.getInstance().district, Integer.parseInt(channel), 0, pageIndex);
73 96  
74   - }
75   -
76   - private void initViews(View view) {
  97 + mPresenter.getBanners("4", AppContext.getInstance().district);
77 98  
78   - layout_control = view.findViewById(R.id.layout_control);
79   - layout_control.measure(0, 0);
80   - mPresenter.getTools(layout_control);
81   - recyclerViewGrally = view.findViewById(R.id.recyclerViewGrally);
82   - recyclerViewConsultOne = view.findViewById(R.id.recyclerViewConsultOne);
83   -
84   - mPresenter.getBanners("3","杭州");
85   - initRecyclerViewConsult();
86 99 }
87 100  
88   - private void initRecyclerViewConsult() {
89   - if (null == myConsultAdapter) myConsultAdapter = new MyConsultAdapter(getActivity());
90   - if (null == myConsultBeanList) myConsultBeanList = new ArrayList<>();
91   - else myConsultBeanList.clear();
92   - for (int i = 0; i < 12; i++) {
93   - MyConsultBean myConsultBean = new MyConsultBean();
94   - myConsultBean.consultCounts = i + "";
95   - myConsultBean.consultContent = "咨询内容" + i;
96   - myConsultBean.consultTitle = "咨询标题" + i;
97   - myConsultBean.consultZhuanfaCounts = "转发:" + i;
98   - myConsultBeanList.add(myConsultBean);
99   - }
100   - myConsultAdapter.addAll(myConsultBeanList);
101   - recyclerViewConsultOne.setAdapter(myConsultAdapter);
102   -
  101 + public void showSearchContent(String keyword) {
  102 + mPresenter.getInformationTopic(keyword, AppContext.getInstance().district, channel, "0", 1);
103 103 }
104 104  
105 105 @NonNull
... ... @@ -121,12 +121,62 @@ public class ConsultOneLevelFragment extends BaseMVPCompatFragment&lt;ConsultOneCon
121 121  
122 122 @Override
123 123 public void showBanners(List<GuangGaoBean> guangGaoBeanList) {
124   - Log.d("6666","imgesUrl="+guangGaoBeanList);
125 124 initRecyclerView(guangGaoBeanList);
126 125 }
127 126  
  127 + private void initRecyclerView(List<GuangGaoBean> guangGaoBeanList) {
  128 +
  129 + if (null == myGrallyAdapter) myGrallyAdapter = new MyGrallyAdapter();
  130 + myGrallyAdapter.addAll(guangGaoBeanList);
  131 + recyclerViewGrally.setAdapter(myGrallyAdapter);
  132 + recyclerViewGrally.addOnScrollListener(new RecyclerView.OnScrollListener() {
  133 + @Override
  134 + public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
  135 + super.onScrollStateChanged(recyclerView, newState);
  136 + }
  137 +
  138 + @Override
  139 + public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
  140 + super.onScrolled(recyclerView, dx, dy);
  141 + }
  142 + });
  143 +
  144 + }
  145 +
  146 + @Override
  147 + public void showConsultContent(List<ChannelContextBean> list) {
  148 + myConsultBeanList.addAll(list);
  149 + if (myConsultAdapter == null) {
  150 + myConsultAdapter = new MyConsultAdapter(getActivity());
  151 + myConsultAdapter.addAll(myConsultBeanList);
  152 + recyclerViewConsultOne.setAdapter(myConsultAdapter);
  153 + } else {
  154 + myConsultAdapter.addAll(myConsultBeanList);
  155 + myConsultAdapter.notifyDataSetChanged();
  156 + }
  157 + }
  158 +
128 159 @Override
129   - public void showConsultContent() {
  160 + public void showChannel(List<ChannelBean> list) {
  161 + layout_control.removeAllViews();
  162 + for (int i = 0; i < list.size(); i++) {
  163 + TextAndImgShowView textAndImgShowView = new TextAndImgShowView(getActivity());
  164 + textAndImgShowView.setTextColor(R.color.textColor);
  165 + textAndImgShowView.setText(list.get(i).getChannelName());
  166 + textAndImgShowView.addImgs(list.get(i).getChannelImage());
  167 + textAndImgShowView.setSelect(true);
  168 + textAndImgShowView.setWidth(getActivity(), layout_control);
  169 + textAndImgShowView.setBackground(AttrsUtils.getAttrs(getActivity()).getDrawable(0));
  170 + textAndImgShowView.setTag(list.get(i));
  171 + textAndImgShowView.setOnClickListener(new View.OnClickListener() {
  172 + @Override
  173 + public void onClick(View view) {
  174 + ChannelBean channelBean = (ChannelBean) view.getTag();
  175 + ConsultTwoLevelActivity.getInstance(getActivity(), channelBean.getId() + "", channelBean.getChannelName());
  176 + }
  177 + });
  178 + layout_control.addView(textAndImgShowView);
  179 + }
130 180 }
131 181  
132 182 private class MyGrallyAdapter extends BaseRecyclerViewAdapter<GuangGaoBean> {
... ... @@ -162,10 +212,15 @@ public class ConsultOneLevelFragment extends BaseMVPCompatFragment&lt;ConsultOneCon
162 212 }
163 213  
164 214 @Override
165   - public void onBindViewHolder(GuangGaoBean object, int position) {
166   - Glide.with(getActivity()).load(AppConfig.BASE_URL_IMG+object.fileSrc).error(R.drawable.ic_launcher_foreground).into(iv_grally);
167   -// iv_grally.setImageResource(R.drawable.ic_launcher_background);
168   - tv_grally_title.setText(object.describe+"");
  215 + public void onBindViewHolder(final GuangGaoBean object, int position) {
  216 + GlideUtils.showImg(mContext, iv_grally, object.fileSrc);
  217 + tv_grally_title.setText(object.describe + "");
  218 + iv_grally.setOnClickListener(new View.OnClickListener() {
  219 + @Override
  220 + public void onClick(View v) {
  221 + WebViewActivity.getInstance(mContext, object.url, -1);
  222 + }
  223 + });
169 224 }
170 225 }
171 226 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/consult/ConsultTwoLevelFragment.java
1 1 package com.shunzhi.parent.ui.fragment.consult;
2 2  
3   -import android.content.Context;
4   -import android.net.Uri;
5 3 import android.os.Bundle;
6 4 import android.support.annotation.NonNull;
7 5 import android.support.annotation.Nullable;
8   -import android.support.v4.app.Fragment;
9   -import android.support.v7.widget.RecyclerView;
10   -import android.view.LayoutInflater;
  6 +import android.support.v7.widget.LinearLayoutManager;
11 7 import android.view.View;
12   -import android.view.ViewGroup;
13 8 import android.widget.TextView;
14 9  
  10 +import com.jcodecraeer.xrecyclerview.XRecyclerView;
15 11 import com.share.mvpsdk.base.BasePresenter;
16 12 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
  13 +import com.shunzhi.parent.AppContext;
17 14 import com.shunzhi.parent.R;
18 15 import com.shunzhi.parent.adapter.MyConsultAdapter;
19 16 import com.shunzhi.parent.bean.GuangGaoBean;
20   -import com.shunzhi.parent.bean.MyConsultBean;
  17 +import com.shunzhi.parent.bean.channel.ChannelBean;
  18 +import com.shunzhi.parent.bean.channel.ChannelContextBean;
21 19 import com.shunzhi.parent.contract.consult.consultone.ConsultOneContract;
22 20 import com.shunzhi.parent.presenter.consult.consultone.ConsultOnePresenter;
23 21  
... ... @@ -32,11 +30,14 @@ public class ConsultTwoLevelFragment extends BaseMVPCompatFragment&lt;ConsultOneCon
32 30  
33 31 TextView tvContentName;
34 32  
35   - RecyclerView recyclerView;
  33 + XRecyclerView recyclerView;
36 34  
37 35 MyConsultAdapter myConsultAdapter = null;
38 36  
39   - List<MyConsultBean> myConsultBeanList = new ArrayList<>();
  37 + List<ChannelContextBean> myConsultBeanList = new ArrayList<>();
  38 +
  39 + int pageIndex = 1;
  40 + String channel = "", titleName;
40 41  
41 42 @Override
42 43 public int getLayoutId() {
... ... @@ -46,26 +47,34 @@ public class ConsultTwoLevelFragment extends BaseMVPCompatFragment&lt;ConsultOneCon
46 47 @Override
47 48 public void initUI(View view, @Nullable Bundle savedInstanceState) {
48 49 tvContentName = view.findViewById(R.id.tvContentName);
49   - tvContentName.setText("");
50   -
  50 + tvContentName.setText(getArguments().getString("titleName"));
  51 + channel = getArguments().getString("channel");
51 52 recyclerView = view.findViewById(R.id.recyclerView);
52 53  
53   - initRecyclerView();
54   - }
55   -
56   - private void initRecyclerView() {
57   -
58   - if (null == myConsultAdapter) myConsultAdapter = new MyConsultAdapter(getActivity());
59   - for (int i = 0; i < 12; i++) {
60   - MyConsultBean myConsultBean = new MyConsultBean();
61   - myConsultBean.consultCounts = i + "";
62   - myConsultBean.consultContent = "咨询内容" + i;
63   - myConsultBean.consultTitle = "咨询标题" + i;
64   - myConsultBean.consultZhuanfaCounts = "转发:" + i;
65   - myConsultBeanList.add(myConsultBean);
66   - }
67   - myConsultAdapter.addAll(myConsultBeanList);
68   - recyclerView.setAdapter(myConsultAdapter);
  54 +// mPresenter.getConsultContent(AppContext.getInstance().district, Integer.parseInt(channel), 0, 1);
  55 + recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
  56 + recyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
  57 + @Override
  58 + public void onRefresh() {
  59 + //refresh data here
  60 + pageIndex = 1;
  61 + myConsultBeanList.clear();
  62 + mPresenter.getConsultContent(AppContext.getInstance().district, Integer.parseInt(channel), 0, pageIndex);
  63 + recyclerView.refreshComplete();
  64 + }
  65 +
  66 + @Override
  67 + public void onLoadMore() {
  68 + // load more data here
  69 + pageIndex = pageIndex + 1;
  70 + mPresenter.getConsultContent(AppContext.getInstance().district, Integer.parseInt(channel), 0, pageIndex);
  71 + recyclerView.refreshComplete();
  72 + }
  73 + });
  74 + pageIndex = 1;
  75 + mPresenter.getConsultContent(AppContext.getInstance().district, Integer.parseInt(channel), 0, pageIndex);
  76 +
  77 +// initRecyclerView();
69 78 }
70 79  
71 80 @NonNull
... ... @@ -80,15 +89,23 @@ public class ConsultTwoLevelFragment extends BaseMVPCompatFragment&lt;ConsultOneCon
80 89 }
81 90  
82 91 @Override
  92 + public void showConsultContent(List<ChannelContextBean> list) {
  93 + myConsultBeanList.clear();
  94 + myConsultBeanList.addAll(list);
  95 + if (myConsultAdapter == null) myConsultAdapter = new MyConsultAdapter(getActivity());
  96 + if (null == recyclerView.getAdapter()) recyclerView.setAdapter(myConsultAdapter);
  97 + myConsultAdapter.addAll(myConsultBeanList);
  98 + }
  99 +
  100 + @Override
83 101 public void showBanners(List<GuangGaoBean> guangGaoBeanList) {
84 102  
85 103 }
86 104  
87   - /**
88   - * 显示咨询内容
89   - */
90 105 @Override
91   - public void showConsultContent() {
  106 + public void showChannel(List<ChannelBean> list) {
92 107  
93 108 }
  109 +
  110 +
94 111 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/loginandregistfragment/LoginAndRegistFragment.java
... ... @@ -7,6 +7,7 @@ import android.support.annotation.Nullable;
7 7 import android.text.Editable;
8 8 import android.text.TextUtils;
9 9 import android.text.TextWatcher;
  10 +import android.util.Log;
10 11 import android.view.Gravity;
11 12 import android.view.LayoutInflater;
12 13 import android.view.View;
... ... @@ -30,9 +31,6 @@ import com.shunzhi.parent.ui.MainActivity;
30 31 import com.shunzhi.parent.ui.activity.LoginAndRegistActivity;
31 32 import com.shunzhi.parent.views.MyProcessDialog;
32 33  
33   -import java.util.Calendar;
34   -import java.util.Date;
35   -
36 34  
37 35 public class LoginAndRegistFragment extends BaseMVPCompatFragment<LoginAndRegisterContract.LoginPresenter, LoginAndRegisterContract.ILoginModel>
38 36 implements LoginAndRegisterContract.ILoginView, View.OnClickListener {
... ... @@ -100,7 +98,7 @@ public class LoginAndRegistFragment extends BaseMVPCompatFragment&lt;LoginAndRegist
100 98 phoneNumber.addTextChangedListener(textWatcher);
101 99 idCode.addTextChangedListener(textWatcher);
102 100 password.addTextChangedListener(textWatcher);
103   - mPresenter.loginResult("18358585335", "575335");
  101 +// mPresenter.loginResult("18358585335", "575335");
104 102  
105 103 passwordLayout_new = view.findViewById(R.id.passwordLayout_new);
106 104 et_password_new = view.findViewById(R.id.et_password_new);
... ... @@ -129,12 +127,12 @@ public class LoginAndRegistFragment extends BaseMVPCompatFragment&lt;LoginAndRegist
129 127 back_login.setVisibility(View.VISIBLE);
130 128 }
131 129  
132   - roundedImageView.setOnClickListener(new View.OnClickListener() {
133   - @Override
134   - public void onClick(View view) {
135   - mPresenter.loginResult("18358585335", "123456");
136   - }
137   - });
  130 +// roundedImageView.setOnClickListener(new View.OnClickListener() {
  131 +// @Override
  132 +// public void onClick(View view) {
  133 +// mPresenter.loginResult("18358575337", "575337");
  134 +// }
  135 +// });
138 136 }
139 137  
140 138  
... ... @@ -182,6 +180,12 @@ public class LoginAndRegistFragment extends BaseMVPCompatFragment&lt;LoginAndRegist
182 180 }
183 181  
184 182 @Override
  183 + public void showerror(String error) {
  184 + progressDialog.dismiss();
  185 +// ToastUtils.showToast(error);
  186 + }
  187 +
  188 + @Override
185 189 public void onClick(View v) {
186 190 if (v == loginAndRegister) {
187 191 progressDialog.show();
... ...
app/src/main/java/com/shunzhi/parent/util/GlideUtils.java 0 → 100644
... ... @@ -0,0 +1,29 @@
  1 +package com.shunzhi.parent.util;
  2 +
  3 +import android.content.Context;
  4 +import android.text.TextUtils;
  5 +import android.widget.ImageView;
  6 +
  7 +import com.bumptech.glide.Glide;
  8 +import com.shunzhi.parent.AppConfig;
  9 +import com.shunzhi.parent.R;
  10 +
  11 +/**
  12 + * Created by ToaHanDong on 2018/3/21.
  13 + */
  14 +
  15 +public class GlideUtils {
  16 +
  17 + public static void showImg(Context context, ImageView imageView,String url){
  18 + if (!TextUtils.isEmpty(url)){
  19 + if (url.startsWith("http"))
  20 + Glide.with(context).load(url).placeholder(R.color.xueqing_blue)
  21 + .into(imageView);
  22 + else Glide.with(context).load(AppConfig.BASE_URL_FILE+url).placeholder(R.color.xueqing_blue)
  23 + .into(imageView);
  24 + }else {
  25 + Glide.with(context).load(url).placeholder(R.color.xueqing_blue).centerCrop().into(imageView);
  26 + }
  27 + }
  28 +
  29 +}
... ...
app/src/main/java/com/shunzhi/parent/views/TextAndImgShowView.java
... ... @@ -14,7 +14,10 @@ import android.widget.TextView;
14 14  
15 15 import com.bumptech.glide.Glide;
16 16 import com.share.mvpsdk.utils.DisplayUtils;
  17 +import com.shunzhi.parent.AppConfig;
  18 +import com.shunzhi.parent.AppContext;
17 19 import com.shunzhi.parent.R;
  20 +import com.shunzhi.parent.util.GlideUtils;
18 21  
19 22  
20 23 /**
... ... @@ -55,6 +58,8 @@ public class TextAndImgShowView extends LinearLayout {
55 58 }
56 59  
57 60 public void addImgs(String imgUrl){
  61 +// Log.d("66666","imgUrl="+imgUrl);
  62 + if (!imgUrl.startsWith("http"))imgUrl= AppConfig.BASE_URL_FILE+imgUrl;
58 63 Glide.with(getContext()).load(imgUrl).error(R.drawable.gxzt).into(image);
59 64 }
60 65  
... ... @@ -78,7 +83,7 @@ public class TextAndImgShowView extends LinearLayout {
78 83 }
79 84  
80 85 public void setWidth(Activity activity, View layout_control) {
81   - Log.d("66666", "layout_control=" + layout_control.getMeasuredWidth());
  86 +// Log.d("66666", "layout_control=" + layout_control.getMeasuredWidth());
82 87 LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
83 88 params.width = (DisplayUtils.getScreenWidthPixels(activity) -
84 89 DisplayUtils.dp2px(layout_control.getPaddingLeft() + layout_control.getPaddingRight()
... ...
app/src/main/res/drawable-xhdpi/logo.png

33.9 KB | W: | H:

7.45 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
app/src/main/res/drawable/rudiobtn_unclick.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2 <shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
3 3 <stroke android:color="#00000000" android:width="1dp"/>
4   - <solid android:color="#D2D2D2" />
  4 + <solid android:color="@color/bottomline" />
5 5 <corners android:radius="5dp"/>
6 6 </shape>
7 7 \ No newline at end of file
... ...
app/src/main/res/drwable-xxhdpi/logo.png

33.9 KB | W: | H:

11.8 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
app/src/main/res/layout/activity_consult_one_level.xml
... ... @@ -10,11 +10,10 @@
10 10 <include layout="@layout/layout_search_back"/>
11 11  
12 12  
13   - <fragment
14   - android:id="@+id/MyFragment"
  13 + <FrameLayout
15 14 android:layout_width="match_parent"
16 15 android:layout_height="match_parent"
17   - android:name="com.shunzhi.parent.ui.fragment.consult.ConsultOneLevelFragment"
18   - />
  16 + android:id="@+id/frame_consult"
  17 + ></FrameLayout>
19 18  
20 19 </LinearLayout>
... ...
app/src/main/res/layout/activity_consult_two_level.xml
... ... @@ -9,5 +9,9 @@
9 9 tools:context="com.shunzhi.parent.ui.activity.consult.ConsultTwoLevelActivity">
10 10  
11 11 <include layout="@layout/layout_search_back"/>
12   -
  12 + <FrameLayout
  13 + android:layout_width="match_parent"
  14 + android:layout_height="match_parent"
  15 + android:id="@+id/frame_consult"
  16 + ></FrameLayout>
13 17 </LinearLayout>
... ...
app/src/main/res/layout/activity_mychild.xml
... ... @@ -2,6 +2,7 @@
2 2 <LinearLayout
3 3 xmlns:android="http://schemas.android.com/apk/res/android"
4 4 android:layout_width="match_parent"
  5 + android:background="@color/bgColor"
5 6 android:layout_height="match_parent"
6 7 android:orientation="vertical"
7 8 >
... ... @@ -24,6 +25,7 @@
24 25 android:text="添加绑定账号"
25 26 android:textColor="@color/white"
26 27 android:textSize="@dimen/txtsize_title"
  28 + android:layout_marginBottom="@dimen/size_dp_10"
27 29 android:gravity="center"
28 30 android:background="@drawable/rudiobtn"
29 31 />
... ...
app/src/main/res/layout/activity_select_school.xml
... ... @@ -102,6 +102,7 @@
102 102 android:textSize="@dimen/txtsize_title"
103 103 android:gravity="center"
104 104 android:background="@drawable/rudiobtn"
  105 + android:layout_marginBottom="10dp"
105 106 />
106 107  
107 108  
... ...
app/src/main/res/layout/activity_web_view.xml
... ... @@ -7,6 +7,111 @@
7 7 android:orientation="vertical"
8 8 android:background="@color/bgColor"
9 9 tools:context="com.shunzhi.parent.ui.activity.mywebview.WebViewActivity">
  10 +
  11 + <RelativeLayout
  12 + android:layout_width="match_parent"
  13 + android:background="@color/back_top"
  14 + android:layout_height="?android:actionBarSize"
  15 + android:orientation="horizontal"
  16 + >
  17 + <ImageView
  18 + android:id="@+id/close_btn"
  19 + android:layout_width="wrap_content"
  20 + android:layout_height="match_parent"
  21 + android:gravity="center"
  22 + android:paddingLeft="@dimen/size_dp_15"
  23 + android:src="@drawable/back"
  24 + android:paddingRight="@dimen/size_dp_15"
  25 + android:textColor="@color/textColor"
  26 + android:textSize="@dimen/textSize16" />
  27 + <TextView
  28 + android:id="@+id/title_web"
  29 + android:layout_width="wrap_content"
  30 + android:layout_height="wrap_content"
  31 + android:text="订购中心"
  32 + android:textSize="@dimen/txtsize_title"
  33 + android:layout_centerInParent="true"
  34 + android:visibility="gone"
  35 + android:textColor="@color/textColor"
  36 +
  37 + />
  38 +
  39 + </RelativeLayout>
  40 +
  41 + <LinearLayout
  42 + android:id="@+id/binding_success1"
  43 + android:layout_width="match_parent"
  44 + android:layout_height="wrap_content"
  45 + android:gravity="center"
  46 + android:background="@color/white"
  47 + android:layout_marginLeft="20dp"
  48 + android:padding="30dp"
  49 + android:layout_marginRight="20dp"
  50 +
  51 + >
  52 +
  53 + <ImageView
  54 + android:layout_width="40dp"
  55 + android:layout_height="40dp"
  56 + android:background="@drawable/success_big" />
  57 +
  58 + <TextView
  59 + android:layout_width="wrap_content"
  60 + android:layout_height="match_parent"
  61 + android:layout_marginLeft="20dp"
  62 + android:text="绑定成功"
  63 + android:gravity="center"
  64 + android:textColor="@color/textColor"
  65 + android:textSize="@dimen/txtsize_headline" />
  66 +
  67 + </LinearLayout>
  68 + <LinearLayout
  69 + android:id="@+id/binding_success2"
  70 + android:visibility="gone"
  71 + android:layout_width="match_parent"
  72 + android:layout_height="wrap_content"
  73 + android:gravity="center"
  74 + android:background="@color/white"
  75 + android:layout_marginLeft="20dp"
  76 + android:padding="30dp"
  77 + android:orientation="vertical"
  78 + android:layout_marginRight="20dp"
  79 +
  80 + >
  81 + <TextView
  82 + android:id="@+id/tv_info"
  83 + android:layout_width="wrap_content"
  84 + android:layout_height="match_parent"
  85 + android:layout_marginLeft="20dp"
  86 + android:text="生成孩子“汇作业”账号为:sz1803081515,初始密码为:sz1803081515(与账号相同)。孩子可以下载“汇作业”app进行使用"
  87 + android:gravity="center"
  88 + android:textColor="@color/textColor"
  89 + android:textSize="@dimen/txtsize_headline" />
  90 + <LinearLayout
  91 + android:layout_width="match_parent"
  92 + android:layout_height="wrap_content"
  93 + android:layout_marginTop="10dp"
  94 + android:gravity="center"
  95 + >
  96 + <TextView
  97 + android:layout_width="wrap_content"
  98 + android:layout_height="match_parent"
  99 + android:layout_marginLeft="20dp"
  100 + android:text="下载地址:"
  101 + android:textColor="@color/textColor"
  102 + android:textSize="@dimen/txtsize_headline" />
  103 + <TextView
  104 + android:id="@+id/zuoye"
  105 + android:layout_width="wrap_content"
  106 + android:layout_height="match_parent"
  107 + android:layout_marginLeft="20dp"
  108 + android:text="汇作业"
  109 + android:gravity="center"
  110 + android:textColor="@color/textBlue"
  111 + android:textSize="@dimen/txtsize_headline" />
  112 + </LinearLayout>
  113 +
  114 + </LinearLayout>
10 115 <ProgressBar
11 116 android:id="@+id/pb_web"
12 117 style="?android:attr/progressBarStyleHorizontal"
... ... @@ -17,6 +122,10 @@
17 122 <com.share.mvpsdk.widgets.NestedScrollWebView
18 123 android:layout_width="match_parent"
19 124 android:layout_height="match_parent"
20   - android:id="@+id/nesteScrollWebView"/>
  125 + android:layout_marginLeft="20dp"
  126 + android:layout_marginRight="20dp"
  127 + android:layout_marginTop="10dp"
  128 + android:id="@+id/nesteScrollWebView"
  129 + ></com.share.mvpsdk.widgets.NestedScrollWebView>
21 130  
22 131 </LinearLayout>
... ...
app/src/main/res/layout/activity_webview.xml
... ... @@ -1,126 +0,0 @@
1   -<?xml version="1.0" encoding="utf-8"?>
2   -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3   - android:layout_width="match_parent"
4   - android:layout_height="match_parent"
5   - android:orientation="vertical"
6   - android:background="@color/bgColor">
7   - <RelativeLayout
8   - android:layout_width="match_parent"
9   - android:background="@color/back_top"
10   - android:layout_height="?android:actionBarSize"
11   - android:orientation="horizontal"
12   - >
13   - <TextView
14   - android:id="@+id/close_btn"
15   - android:layout_width="30dp"
16   - android:layout_height="30dp"
17   - android:layout_marginLeft="10dp"
18   - android:layout_centerVertical="true"
19   - android:background="@drawable/close"
20   - />
21   - <TextView
22   - android:id="@+id/title_web"
23   - android:layout_width="wrap_content"
24   - android:layout_height="wrap_content"
25   - android:text="订购中心"
26   - android:textSize="@dimen/txtsize_title"
27   - android:layout_centerInParent="true"
28   - android:visibility="gone"
29   - android:textColor="@color/textColor"
30   -
31   - />
32   -
33   - </RelativeLayout>
34   -
35   - <ProgressBar
36   - android:id="@+id/pb_web"
37   - style="?android:attr/progressBarStyleHorizontal"
38   - android:layout_width="match_parent"
39   - android:layout_height="3dp"
40   - android:progressDrawable="@drawable/web_progress_bar_bg"
41   - android:visibility="gone"/>
42   -
43   - <LinearLayout
44   - android:id="@+id/binding_success1"
45   - android:layout_width="match_parent"
46   - android:layout_height="wrap_content"
47   - android:gravity="center"
48   - android:background="@color/white"
49   - android:layout_marginLeft="20dp"
50   - android:padding="30dp"
51   - android:layout_marginRight="20dp"
52   -
53   - >
54   -
55   - <ImageView
56   - android:layout_width="40dp"
57   - android:layout_height="40dp"
58   - android:background="@drawable/success_big" />
59   -
60   - <TextView
61   - android:layout_width="wrap_content"
62   - android:layout_height="match_parent"
63   - android:layout_marginLeft="20dp"
64   - android:text="绑定成功"
65   - android:gravity="center"
66   - android:textColor="@color/textColor"
67   - android:textSize="@dimen/txtsize_headline" />
68   -
69   - </LinearLayout>
70   - <LinearLayout
71   - android:id="@+id/binding_success2"
72   - android:visibility="gone"
73   - android:layout_width="match_parent"
74   - android:layout_height="wrap_content"
75   - android:gravity="center"
76   - android:background="@color/white"
77   - android:layout_marginLeft="20dp"
78   - android:padding="30dp"
79   - android:orientation="vertical"
80   - android:layout_marginRight="20dp"
81   -
82   - >
83   - <TextView
84   - android:id="@+id/tv_info"
85   - android:layout_width="wrap_content"
86   - android:layout_height="match_parent"
87   - android:layout_marginLeft="20dp"
88   - android:text="生成孩子“汇作业”账号为:sz1803081515,初始密码为:sz1803081515(与账号相同)。孩子可以下载“汇作业”app进行使用"
89   - android:gravity="center"
90   - android:textColor="@color/textColor"
91   - android:textSize="@dimen/txtsize_headline" />
92   - <LinearLayout
93   - android:layout_width="match_parent"
94   - android:layout_height="wrap_content"
95   - android:layout_marginTop="10dp"
96   - android:gravity="center"
97   - >
98   - <TextView
99   - android:layout_width="wrap_content"
100   - android:layout_height="match_parent"
101   - android:layout_marginLeft="20dp"
102   - android:text="下载地址:"
103   - android:textColor="@color/textColor"
104   - android:textSize="@dimen/txtsize_headline" />
105   - <TextView
106   - android:id="@+id/zuoye"
107   - android:layout_width="wrap_content"
108   - android:layout_height="match_parent"
109   - android:layout_marginLeft="20dp"
110   - android:text="汇作业"
111   - android:gravity="center"
112   - android:textColor="@color/textBlue"
113   - android:textSize="@dimen/txtsize_headline" />
114   - </LinearLayout>
115   -
116   - </LinearLayout>
117   - <com.share.mvpsdk.widgets.NestedScrollWebView
118   - android:id="@+id/webView"
119   - android:layout_height="match_parent"
120   - android:layout_width="match_parent"
121   - android:layout_marginTop="20dp"
122   - android:layout_marginRight="20dp"
123   - android:layout_marginLeft="20dp"
124   - />
125   -
126   -</LinearLayout>
app/src/main/res/layout/dialog_view.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3   - android:layout_width="300dp"
  3 + android:layout_width="260dp"
4 4 android:layout_gravity="center"
5 5 android:layout_height="wrap_content"
6 6 android:background="#00000000"
... ... @@ -8,11 +8,12 @@
8 8  
9 9 <TextView
10 10 android:id="@+id/dialog_info"
11   - android:layout_width="300dp"
12   - android:layout_height="200dp"
  11 + android:layout_width="260dp"
  12 + android:layout_height="180dp"
13 13 android:gravity="center"
14   - android:textSize="@dimen/txtsize_headline"
  14 + android:textSize="@dimen/sp_18"
15 15 android:layout_gravity="center"
  16 + android:padding="@dimen/size_dp_10"
16 17 android:background="@drawable/rudiobtn_white" />
17 18  
18 19 <LinearLayout
... ... @@ -22,22 +23,22 @@
22 23  
23 24 <TextView
24 25 android:id="@+id/cancel_btn"
25   - android:layout_width="140dp"
  26 + android:layout_width="120dp"
26 27 android:layout_height="40dp"
27 28 android:gravity="center"
28 29 android:textColor="@color/white"
29   - android:textSize="@dimen/txtsize_title"
  30 + android:textSize="@dimen/sp_16"
30 31 android:background="@drawable/rudiobtn"
31 32 android:text="取消" />
32 33  
33 34 <TextView
34 35 android:id="@+id/right_btn"
35 36 android:layout_marginLeft="20dp"
36   - android:layout_width="140dp"
  37 + android:layout_width="120dp"
37 38 android:layout_height="40dp"
38 39 android:gravity="center"
39 40 android:textColor="@color/white"
40   - android:textSize="@dimen/txtsize_title"
  41 + android:textSize="@dimen/sp_16"
41 42 android:background="@drawable/rudiobtn"
42 43 android:text="确定" />
43 44 </LinearLayout>
... ...
app/src/main/res/layout/fragment_ce_ping.xml
... ... @@ -164,8 +164,15 @@
164 164 android:layout_height="match_parent"
165 165 android:layout_marginRight="@dimen/size_dp_5"
166 166 android:layout_weight="1"
  167 + android:onClick="onClick"
167 168 android:background="@drawable/shape_xueqing_radius8">
168   -
  169 + <ImageView
  170 + android:layout_margin="@dimen/size_dp_8"
  171 + android:layout_width="match_parent"
  172 + android:layout_height="match_parent"
  173 + android:scaleType="fitXY"
  174 + android:id="@+id/ivCourse1"
  175 + />
169 176 <LinearLayout
170 177 android:layout_width="wrap_content"
171 178 android:layout_height="wrap_content"
... ... @@ -175,6 +182,7 @@
175 182 android:orientation="vertical">
176 183  
177 184 <TextView
  185 + android:id="@+id/tvCourse1"
178 186 android:layout_width="wrap_content"
179 187 android:layout_height="wrap_content"
180 188 android:text="热门课程"
... ... @@ -209,8 +217,15 @@
209 217 android:layout_marginBottom="@dimen/size_dp_5"
210 218 android:layout_marginRight="@dimen/size_dp_5"
211 219 android:layout_weight="1"
  220 + android:onClick="onClick"
212 221 android:background="@drawable/shape_xueqing_radius8">
213   -
  222 + <ImageView
  223 + android:layout_margin="@dimen/size_dp_8"
  224 + android:layout_width="match_parent"
  225 + android:layout_height="match_parent"
  226 + android:scaleType="fitXY"
  227 + android:id="@+id/ivCourse2"
  228 + />
214 229 <LinearLayout
215 230 android:layout_width="wrap_content"
216 231 android:layout_height="wrap_content"
... ... @@ -220,6 +235,7 @@
220 235 android:orientation="vertical">
221 236  
222 237 <TextView
  238 + android:id="@+id/tvCourse2"
223 239 android:layout_width="wrap_content"
224 240 android:layout_height="wrap_content"
225 241 android:text="热门课程"
... ... @@ -247,8 +263,15 @@
247 263 android:layout_marginRight="@dimen/size_dp_5"
248 264 android:layout_marginTop="@dimen/size_dp_5"
249 265 android:layout_weight="1"
  266 + android:onClick="onClick"
250 267 android:background="@drawable/shape_xueqing_radius8">
251   -
  268 + <ImageView
  269 + android:layout_margin="@dimen/size_dp_8"
  270 + android:layout_width="match_parent"
  271 + android:layout_height="match_parent"
  272 + android:scaleType="fitXY"
  273 + android:id="@+id/ivCourse3"
  274 + />
252 275 <LinearLayout
253 276 android:layout_width="wrap_content"
254 277 android:layout_height="wrap_content"
... ... @@ -258,6 +281,7 @@
258 281 android:orientation="vertical">
259 282  
260 283 <TextView
  284 + android:id="@+id/tvCourse3"
261 285 android:layout_width="wrap_content"
262 286 android:layout_height="wrap_content"
263 287 android:text="热门课程"
... ...
app/src/main/res/layout/fragment_consult_one_level.xml
... ... @@ -19,12 +19,12 @@
19 19  
20 20 <include layout="@layout/layout_textandimgshow"/>
21 21  
22   - <android.support.v7.widget.RecyclerView
  22 + <com.jcodecraeer.xrecyclerview.XRecyclerView
23 23 android:layout_marginTop="@dimen/size_dp_10"
24 24 android:layout_width="match_parent"
25 25 android:layout_height="0dp"
26 26 android:layout_weight="3"
27 27 android:id="@+id/recyclerViewConsultOne"
28   - ></android.support.v7.widget.RecyclerView>
  28 + ></com.jcodecraeer.xrecyclerview.XRecyclerView>
29 29  
30 30 </LinearLayout>
... ...
app/src/main/res/layout/fragment_consult_two_level.xml
... ... @@ -17,12 +17,14 @@
17 17 android:paddingBottom="@dimen/size_dp_5"
18 18 />
19 19  
20   - <android.support.v7.widget.RecyclerView
  20 + <com.jcodecraeer.xrecyclerview.XRecyclerView
21 21 android:layout_marginLeft="@dimen/size_dp_10"
22 22 android:layout_marginRight="@dimen/size_dp_10"
23 23 android:id="@+id/recyclerView"
24 24 android:layout_width="match_parent"
25   - android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
  25 + android:layout_height="match_parent">
  26 +
  27 + </com.jcodecraeer.xrecyclerview.XRecyclerView>
26 28  
27 29  
28 30 </LinearLayout>
... ...
app/src/main/res/layout/fragment_login_and_regist.xml
... ... @@ -3,6 +3,7 @@
3 3 xmlns:tools="http://schemas.android.com/tools"
4 4 android:layout_width="match_parent"
5 5 android:layout_height="match_parent"
  6 + android:background="@color/white"
6 7 tools:context="com.shunzhi.parent.ui.fragment.loginandregistfragment.LoginAndRegistFragment">
7 8  
8 9  
... ... @@ -20,7 +21,7 @@
20 21 android:layout_width="60dp"
21 22 android:layout_height="20dp"
22 23 android:visibility="invisible"
23   - android:src="@drawable/arrow_left"
  24 + android:src="@drawable/back"
24 25 />
25 26 </LinearLayout>
26 27  
... ... @@ -59,6 +60,7 @@
59 60 android:text=""
60 61 android:maxLength="11"
61 62 android:textColorHint="@color/hintTextColor"
  63 + android:textColor="@color/textColor"
62 64 android:textSize="@dimen/sp_16" />
63 65  
64 66 <TextView
... ... @@ -86,6 +88,7 @@
86 88 android:background="@null"
87 89 android:hint="请输入验证码"
88 90 android:textColorHint="@color/hintTextColor"
  91 + android:textColor="@color/textColor"
89 92 android:textSize="@dimen/sp_16" />
90 93  
91 94 <TextView
... ... @@ -197,6 +200,7 @@
197 200 android:layout_height="wrap_content"
198 201 android:layout_marginTop="40dp"
199 202 android:background="@drawable/rudiobtn_unclick"
  203 + android:enabled="false"
200 204 android:gravity="center"
201 205 android:paddingBottom="10dp"
202 206 android:paddingTop="10dp"
... ...
app/src/main/res/layout/fragment_mine.xml
... ... @@ -99,7 +99,7 @@
99 99 <LinearLayout
100 100 android:layout_width="match_parent"
101 101 android:gravity="center_vertical"
102   - android:layout_height="40dp">
  102 + android:layout_height="?android:actionBarSize">
103 103  
104 104 <TextView
105 105 android:layout_width="25dp"
... ... @@ -136,7 +136,7 @@
136 136 <LinearLayout
137 137 android:id="@+id/layout_orderDetail"
138 138 android:layout_width="match_parent"
139   - android:layout_height="40dp"
  139 + android:layout_height="?android:actionBarSize"
140 140 android:gravity="center_vertical"
141 141  
142 142 >
... ... @@ -167,7 +167,7 @@
167 167 <LinearLayout
168 168 android:id="@+id/layout_order"
169 169 android:layout_width="match_parent"
170   - android:layout_height="40dp"
  170 + android:layout_height="?android:actionBarSize"
171 171 android:gravity="center_vertical"
172 172 >
173 173  
... ... @@ -197,7 +197,7 @@
197 197 <LinearLayout
198 198 android:id="@+id/childlayout"
199 199 android:layout_width="match_parent"
200   - android:layout_height="40dp"
  200 + android:layout_height="?android:actionBarSize"
201 201 android:gravity="center_vertical"
202 202 >
203 203  
... ... @@ -217,6 +217,7 @@
217 217 android:textSize="@dimen/txtsize_title" />
218 218  
219 219 <TextView
  220 + android:id="@+id/binding_state"
220 221 android:layout_width="80dp"
221 222 android:layout_height="wrap_content"
222 223 android:layout_gravity="center_vertical"
... ... @@ -238,9 +239,10 @@
238 239 android:orientation="vertical">
239 240  
240 241 <LinearLayout
  242 + android:id="@+id/layoutAdvice"
241 243 android:layout_width="match_parent"
242 244 android:gravity="center_vertical"
243   - android:layout_height="40dp">
  245 + android:layout_height="?android:actionBarSize">
244 246  
245 247 <TextView
246 248 android:layout_width="25dp"
... ... @@ -267,8 +269,9 @@
267 269 android:background="@color/bottomline" />
268 270  
269 271 <LinearLayout
  272 + android:id="@+id/layout_cache"
270 273 android:layout_width="match_parent"
271   - android:layout_height="40dp"
  274 + android:layout_height="?android:actionBarSize"
272 275 android:gravity="center_vertical"
273 276  
274 277 >
... ... @@ -296,11 +299,12 @@
296 299 android:layout_marginLeft="15dp"
297 300 android:layout_marginRight="15dp"
298 301 android:background="@color/bottomline" />
  302 +
299 303 <LinearLayout
  304 + android:id="@+id/layout_about"
300 305 android:layout_width="match_parent"
301   - android:layout_height="40dp"
302   - android:gravity="center_vertical"
303   - >
  306 + android:layout_height="?android:actionBarSize"
  307 + android:gravity="center_vertical">
304 308  
305 309 <TextView
306 310 android:layout_width="25dp"
... ... @@ -320,7 +324,19 @@
320 324 </LinearLayout>
321 325 </LinearLayout>
322 326  
323   -
  327 + <TextView
  328 + android:id="@+id/tvExit"
  329 + android:layout_width="match_parent"
  330 + android:layout_height="?android:actionBarSize"
  331 + android:layout_gravity="center_vertical"
  332 + android:gravity="center"
  333 + android:layout_weight="1"
  334 + android:layout_marginTop="@dimen/size_dp_15"
  335 + android:layout_marginBottom="@dimen/size_dp_15"
  336 + android:background="@drawable/shape_xueqing_radius8"
  337 + android:text="退出登录"
  338 + android:textColor="@color/white"
  339 + android:textSize="@dimen/size_dp_16" />
324 340  
325 341 </LinearLayout>
326 342 </ScrollView>
... ...
app/src/main/res/layout/fragment_report.xml
... ... @@ -15,12 +15,13 @@
15 15 android:padding="10dp">
16 16  
17 17 <TextView
  18 + android:id="@+id/tvName"
18 19 android:layout_width="wrap_content"
19 20 android:layout_height="wrap_content"
20 21 android:layout_gravity="center_vertical"
21 22 android:drawablePadding="10dp"
22 23 android:drawableRight="@drawable/pull"
23   - android:text="马铂骞"
  24 + android:text=""
24 25 android:textColor="@color/textColor"
25 26 android:textSize="@dimen/textSize16" />
26 27  
... ... @@ -46,6 +47,17 @@
46 47 android:textSize="@dimen/textSize16" />
47 48 </LinearLayout>
48 49  
  50 + <TextView
  51 + android:layout_width="match_parent"
  52 + android:layout_height="match_parent"
  53 + android:textSize="@dimen/size_dp_16"
  54 + android:textColor="@color/xueqing_blue"
  55 + android:text="没有绑定孩子,\n请去个人中心绑定孩子"
  56 + android:gravity="center"
  57 + android:lineSpacingExtra="@dimen/size_dp_5"
  58 + android:id="@+id/tvNoData"
  59 + />
  60 +
49 61 <LinearLayout
50 62 android:layout_width="match_parent"
51 63 android:layout_height="match_parent"
... ...
app/src/main/res/layout/fragment_start.xml
... ... @@ -2,6 +2,7 @@
2 2 xmlns:tools="http://schemas.android.com/tools"
3 3 android:layout_width="match_parent"
4 4 android:layout_height="match_parent"
  5 + android:background="@color/bgColor"
5 6 tools:context="com.shunzhi.parent.ui.fragment.StartFragment">
6 7  
7 8 <com.stx.xhb.xbanner.XBanner
... ... @@ -9,4 +10,17 @@
9 10 android:layout_height="match_parent"
10 11 android:id="@+id/xBanner"
11 12 ></com.stx.xhb.xbanner.XBanner>
  13 +
  14 + <TextView
  15 + android:id="@+id/tvJump"
  16 + android:layout_width="wrap_content"
  17 + android:layout_height="wrap_content"
  18 + android:text="跳过"
  19 + android:textColor="@color/white"
  20 + android:textSize="@dimen/size_dp_16"
  21 + android:padding="@dimen/size_dp_10"
  22 + android:layout_gravity="right"
  23 + android:layout_margin="@dimen/size_dp_10"
  24 + android:background="@drawable/shape_xueqing_radius8"
  25 + />
12 26 </FrameLayout>
... ...
app/src/main/res/layout/fragment_zi_xun.xml
... ... @@ -14,20 +14,17 @@
14 14 android:layout_height="0dp"
15 15 android:layout_weight="2"></com.stx.xhb.xbanner.XBanner>
16 16  
17   - <LinearLayout
18   - android:layout_width="wrap_content"
19   - android:layout_height="wrap_content"
20   - android:layout_marginLeft="@dimen/size_dp_10"
21   - android:layout_marginRight="@dimen/size_dp_10"
22   - >
  17 +
23 18 <include layout="@layout/layout_textandimgshow"
24 19 />
25   - </LinearLayout>
  20 +
  21 +
26 22 <LinearLayout
27 23 android:layout_width="match_parent"
28   - android:layout_height="wrap_content"
  24 + android:layout_height="0dp"
29 25 android:paddingLeft="@dimen/size_dp_10"
30 26 android:paddingRight="@dimen/size_dp_10"
  27 + android:layout_weight="3"
31 28 android:orientation="vertical">
32 29  
33 30 <TextView
... ... @@ -41,18 +38,19 @@
41 38 <LinearLayout
42 39 android:layout_width="match_parent"
43 40 android:layout_height="wrap_content">
44   - <android.support.v7.widget.RecyclerView
45   - android:id="@+id/recycler_content"
46   - android:layout_width="match_parent"
47   - android:layout_height="match_parent">
48 41  
49   - </android.support.v7.widget.RecyclerView>
  42 + <com.jcodecraeer.xrecyclerview.XRecyclerView
  43 + android:id="@+id/recycler_content"
  44 + android:layout_width="match_parent"
  45 + android:layout_height="wrap_content">
  46 + </com.jcodecraeer.xrecyclerview.XRecyclerView>
50 47 </LinearLayout>
51 48 </LinearLayout>
52 49  
53 50  
54 51 <FrameLayout
55 52 android:layout_width="match_parent"
  53 + android:visibility="gone"
56 54 android:layout_height="0dp"
57 55 android:layout_margin="@dimen/size_dp_10"
58 56 android:layout_weight="2">
... ... @@ -60,7 +58,8 @@
60 58 <cn.jzvd.JZVideoPlayerStandard
61 59 android:id="@+id/videoplayer"
62 60 android:layout_width="match_parent"
63   - android:layout_height="match_parent"></cn.jzvd.JZVideoPlayerStandard>
  61 + android:layout_height="match_parent"
  62 + ></cn.jzvd.JZVideoPlayerStandard>
64 63  
65 64 <TextView
66 65 android:id="@+id/tvVideoTitle"
... ...
app/src/main/res/layout/item_childlist.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 3 android:layout_width="match_parent"
  4 + android:background="@color/white"
  5 + android:divider="@color/divider_gray"
  6 + android:layout_marginTop="@dimen/size_dp_10"
4 7 android:layout_height="wrap_content">
5 8  
6 9 <LinearLayout
... ...
app/src/main/res/layout/item_order_list.xml
... ... @@ -3,6 +3,7 @@
3 3 android:layout_width="match_parent"
4 4 android:orientation="vertical"
5 5 android:elevation="@dimen/size_dp_5"
  6 + android:layout_margin="@dimen/size_dp_5"
6 7 android:background="@drawable/shape_xueqing_radius8"
7 8 android:id="@+id/layout_order_list"
8 9 android:layout_height="wrap_content">
... ... @@ -44,20 +45,35 @@
44 45 android:background="@drawable/shape_radius8_whit"
45 46 android:layout_width="match_parent"
46 47 android:layout_height="wrap_content">
  48 + <LinearLayout
  49 + android:paddingBottom="@dimen/size_dp_5"
  50 + android:paddingTop="@dimen/size_dp_5"
  51 + android:layout_gravity="center"
  52 + android:gravity="center"
  53 + android:layout_width="wrap_content"
  54 + android:layout_height="wrap_content">
  55 +
  56 +
  57 + <ImageView
  58 + android:id="@+id/ivState"
  59 + android:layout_width="@dimen/size_dp_20"
  60 + android:layout_height="@dimen/size_dp_20"
  61 + android:src="@drawable/success"
  62 + android:layout_marginRight="@dimen/size_dp_5"
  63 + />
  64 +
  65 + <TextView
  66 + android:id="@+id/tvPayState"
  67 + android:layout_gravity="center"
  68 + android:drawablePadding="@dimen/size_dp_5"
  69 + android:layout_width="wrap_content"
  70 + android:layout_height="wrap_content"
  71 + android:text="订购成功"
  72 + android:textColor="@color/xueqing_blue"
  73 + android:textSize="@dimen/textSize16"
  74 + android:gravity="center"
  75 + />
  76 + </LinearLayout>
47 77  
48   - <TextView
49   - android:id="@+id/tvPayState"
50   - android:layout_gravity="center"
51   - android:drawablePadding="@dimen/size_dp_5"
52   - android:layout_width="wrap_content"
53   - android:layout_height="wrap_content"
54   - android:text="订购成功"
55   - android:textColor="@color/xueqing_blue"
56   - android:textSize="@dimen/textSize16"
57   - android:gravity="center"
58   - android:paddingBottom="@dimen/size_dp_5"
59   - android:paddingTop="@dimen/size_dp_5"
60   - android:drawableLeft="@drawable/order_success"
61   - />
62 78 </FrameLayout>
63 79 </LinearLayout>
64 80 \ No newline at end of file
... ...
app/src/main/res/layout/layout_consult_content.xml
... ... @@ -2,9 +2,11 @@
2 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 3 android:layout_width="match_parent"
4 4 android:layout_height="wrap_content"
5   - android:layout_marginBottom="@dimen/size_dp_10">
  5 + android:layout_marginBottom="@dimen/size_dp_10"
  6 + android:orientation="vertical">
6 7  
7 8 <LinearLayout
  9 + android:id="@+id/normal_content"
8 10 android:layout_width="match_parent"
9 11 android:layout_height="match_parent"
10 12 android:background="@drawable/report_white">
... ... @@ -77,4 +79,19 @@
77 79 android:layout_weight="2"
78 80 android:src="@color/xueqing_blue" />
79 81 </LinearLayout>
  82 +
  83 + <FrameLayout
  84 + android:id="@+id/frame_ad"
  85 + android:layout_width="match_parent"
  86 + android:layout_height="match_parent"
  87 + android:visibility="gone"
  88 + >
  89 +
  90 + <ImageView
  91 + android:id="@+id/image_ad"
  92 + android:layout_width="match_parent"
  93 + android:layout_height="match_parent"
  94 + android:src="@drawable/backgroud_top" />
  95 +
  96 + </FrameLayout>
80 97 </LinearLayout>
81 98 \ No newline at end of file
... ...
app/src/main/res/layout/top.xml
... ... @@ -5,12 +5,16 @@
5 5 android:background="@color/back_top"
6 6 android:padding="10dp">
7 7  
8   - <TextView
  8 + <ImageView
9 9 android:id="@+id/back_top"
10   - android:layout_width="30dp"
11   - android:layout_height="30dp"
12   - android:layout_gravity="center_vertical"
13   - android:background="@drawable/arrow_left" />
  10 + android:layout_width="wrap_content"
  11 + android:layout_height="match_parent"
  12 + android:gravity="center"
  13 + android:paddingLeft="@dimen/size_dp_15"
  14 + android:src="@drawable/back"
  15 + android:paddingRight="@dimen/size_dp_15"
  16 + android:textColor="@color/textColor"
  17 + android:textSize="@dimen/textSize16" />
14 18  
15 19 <TextView
16 20 android:id="@+id/center_title"
... ... @@ -19,7 +23,7 @@
19 23 android:layout_weight="1"
20 24 android:text="主题"
21 25 android:gravity="center"
22   - android:textColor="@color/textColor"
  26 + android:textColor="@color/white"
23 27 android:textSize="@dimen/textSize16" />
24 28 <TextView
25 29 android:layout_width="30dp"
... ...
app/src/main/res/values/colors.xml
... ... @@ -5,7 +5,7 @@
5 5 <color name="colorAccent">#FF4081</color>
6 6  
7 7  
8   - <color name="hintTextColor">#C1C1C1</color>
  8 + <color name="hintTextColor">#494947</color>
9 9 <color name="bottomline">#B8B8B9</color>
10 10 <color name="bg_main">#F0EFF5</color>
11 11 <color name="textRed">#FC5B6A</color>
... ...
app/src/main/res/values/strings.xml
1 1 <resources>
2   - <string name="app_name">parent</string>
  2 + <string name="app_name">家长慧</string>
3 3  
4 4 <!-- TODO: Remove or change this placeholder text -->
5 5 <string name="hello_blank_fragment">Hello blank fragment</string>
... ...
mvpsdk/build.gradle
... ... @@ -116,6 +116,9 @@ dependencies {
116 116 //标签拖动排序
117 117 compile 'com.huxq17.handygridview:handygridview:1.1.0'
118 118  
  119 + //xrecyclerview
  120 + compile 'com.jcodecraeer:xrecyclerview:1.5.9'
  121 +
119 122 //悬浮窗
120 123 // compile 'com.github.yhaolpz:FloatWindow:1.0.8'
121 124  
... ...
mvpsdk/src/main/java/com/share/mvpsdk/helper/RetrofitCreateHelper.java
... ... @@ -24,12 +24,13 @@ import retrofit2.converter.gson.GsonConverterFactory;
24 24 public class RetrofitCreateHelper {
25 25 private static final int TIMEOUT_READ = 20;
26 26 private static final int TIMEOUT_CONNECTION = 10;
27   - private static String Authorization="",token="";
28   - private static RetrofitCreateHelper retrofitCreateHelper=null;
  27 + private static String Authorization = "", token = "";
  28 + private static RetrofitCreateHelper retrofitCreateHelper = null;
29 29 private static final HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor()
30 30 .setLevel(HttpLoggingInterceptor.Level.BODY);
31 31 private static CacheInterceptor cacheInterceptor = new CacheInterceptor();
32   - private static OkHttpClient.Builder okhttpClientBuilder=null;
  32 + private static OkHttpClient.Builder okhttpClientBuilder = null;
  33 +
33 34 /*private static OkHttpClient okHttpClient = new OkHttpClient.Builder()
34 35 //SSL证书
35 36 .sslSocketFactory(TrustManager.getUnsafeOkHttpClient())
... ... @@ -47,33 +48,39 @@ public class RetrofitCreateHelper {
47 48 //失败重连
48 49 .retryOnConnectionFailure(true)
49 50 .build();*/
50   - public static RetrofitCreateHelper getInstance(){
51   - if (null==retrofitCreateHelper){
52   - synchronized (RetrofitCreateHelper.class){
53   - if (null==retrofitCreateHelper)retrofitCreateHelper=new RetrofitCreateHelper();
  51 + public static RetrofitCreateHelper getInstance() {
  52 + if (null == retrofitCreateHelper) {
  53 + synchronized (RetrofitCreateHelper.class) {
  54 + if (null == retrofitCreateHelper) retrofitCreateHelper = new RetrofitCreateHelper();
54 55 }
55 56 }
56 57 return retrofitCreateHelper;
57 58 }
58 59  
59   - public RetrofitCreateHelper(){
60   - if (null==okhttpClientBuilder)okhttpClientBuilder=new OkHttpClient.Builder();
61   - okhttpClientBuilder.connectTimeout(10000,TimeUnit.SECONDS);
62   - okhttpClientBuilder.addInterceptor(new Interceptor() {
63   - @Override
64   - public Response intercept(Chain chain) throws IOException {
65   - Request original = chain.request();
66   - Request.Builder requestBuilder = original.newBuilder().header("Authorization", Authorization);
67   - Request request = requestBuilder.build();
68   - return chain.proceed(request);
  60 + public RetrofitCreateHelper() {
  61 + try {
  62 + if (null == okhttpClientBuilder) {
  63 + okhttpClientBuilder = new OkHttpClient.Builder();
  64 + okhttpClientBuilder.connectTimeout(10000, TimeUnit.SECONDS);
  65 + okhttpClientBuilder.addInterceptor(new Interceptor() {
  66 + @Override
  67 + public Response intercept(Chain chain) throws IOException {
  68 + Request original = chain.request();
  69 + Request.Builder requestBuilder = original.newBuilder().header("Authorization", Authorization);
  70 + Request request = requestBuilder.build();
  71 + return chain.proceed(request);
  72 + }
  73 + });
  74 + okhttpClientBuilder.addNetworkInterceptor(cacheInterceptor);
  75 + okhttpClientBuilder.addInterceptor(interceptor);
69 76 }
70   - });
71   - okhttpClientBuilder.addNetworkInterceptor(cacheInterceptor);
72   - okhttpClientBuilder.addInterceptor(interceptor);
  77 + } catch (Exception e) {
  78 + e.printStackTrace();
  79 + }
73 80 }
74 81  
75 82 public <T> T createApi(Class<T> clazz, String url) {
76   - Authorization=token;
  83 + Authorization = token;
77 84 Retrofit retrofit = new Retrofit.Builder()
78 85 .baseUrl(url)
79 86 .client(okhttpClientBuilder.build())
... ... @@ -83,7 +90,7 @@ public class RetrofitCreateHelper {
83 90 return retrofit.create(clazz);
84 91 }
85 92  
86   -// public static <T> T loginApi(Class<T> clazz, String url) {
  93 + // public static <T> T loginApi(Class<T> clazz, String url) {
87 94 // Authorization= StringUtils.getSign();
88 95 // okHttpClient.newBuilder().addInterceptor(new Interceptor() {
89 96 // @Override
... ... @@ -103,13 +110,13 @@ public class RetrofitCreateHelper {
103 110 // .build();
104 111 // return retrofit.create(clazz);
105 112 // }
106   - public void setAuthorization(String Authorization){
107   - this.token=Authorization;
  113 + public void setAuthorization(String Authorization) {
  114 + this.token = Authorization;
108 115 }
109 116  
110   - public <T> T login(Class<T> clazz,String url){
111   - Authorization= StringUtils.getSign();
112   - Retrofit retrofit=new Retrofit.Builder()
  117 + public <T> T login(Class<T> clazz, String url) {
  118 + Authorization = StringUtils.getSign();
  119 + Retrofit retrofit = new Retrofit.Builder()
113 120 .client(okhttpClientBuilder.build())
114 121 .baseUrl(url)
115 122 .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
... ... @@ -119,6 +126,5 @@ public class RetrofitCreateHelper {
119 126 }
120 127  
121 128  
122   -
123 129 }
124 130  
... ...
mvpsdk/src/main/java/com/share/mvpsdk/utils/CacheUtils.java
... ... @@ -96,6 +96,11 @@ public class CacheUtils {
96 96 cleanCustomCache(filepath);
97 97 }
98 98  
  99 + public static void clearCache(Context context)throws Exception{
  100 + File file=new File("/data/data/"+ context.getPackageName());
  101 + cleanCustomCache(file.toString());
  102 + }
  103 +
99 104 public static String getCacheSize(Context context) throws Exception {
100 105 File file=new File("/data/data/"+ context.getPackageName());
101 106 return getFormatSize(getFolderSize(file));
... ...