Commit 8c6d07edf896949af0a5d80d3b077e2c545b77d2

Authored by 姚旭斌
1 parent 26d17696

no message

app/src/main/AndroidManifest.xml
... ... @@ -64,17 +64,17 @@
64 64 android:name="com.amap.api.v2.apikey"
65 65 android:value="1d130afb822d8a1019e6592cbaf10bcc" />
66 66  
67   - <activity android:name=".ui.MainActivity">
  67 + <activity android:name=".ui.activity.LoginAndRegistActivity">
68 68 <intent-filter>
69 69 <action android:name="android.intent.action.MAIN" />
70 70  
71 71 <category android:name="android.intent.category.LAUNCHER" />
72 72 </intent-filter>
73 73 </activity>
74   - <!--<activity-->
75   - <!--android:name=".ui.MainActivity"-->
76   - <!--android:screenOrientation="portrait"-->
77   - <!--android:windowSoftInputMode="adjustPan|stateAlwaysHidden" />-->
  74 + <activity
  75 + android:name=".ui.MainActivity"
  76 + android:screenOrientation="portrait"
  77 + android:windowSoftInputMode="adjustPan|stateAlwaysHidden" />
78 78 <activity
79 79 android:name=".ui.activity.MyChildActivity"
80 80 android:screenOrientation="portrait" />
... ... @@ -94,9 +94,9 @@
94 94 android:name=".ui.activity.binding.SelectSchoolActivity"
95 95 android:screenOrientation="portrait"
96 96 android:windowSoftInputMode="adjustPan|stateHidden" />
97   - <activity android:name=".ui.activity.LoginAndRegistActivity"
98   - android:screenOrientation="portrait"
99   - />
  97 + <!--<activity android:name=".ui.activity.LoginAndRegistActivity"-->
  98 + <!--android:screenOrientation="portrait"-->
  99 + <!--/>-->
100 100 <activity
101 101 android:name=".ui.activity.PersonInfoActivity"
102 102 android:screenOrientation="portrait"
... ...
app/src/main/java/com/shunzhi/parent/adapter/ContextAdapter.java 0 → 100644
... ... @@ -0,0 +1,66 @@
  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/api/Consult.java
... ... @@ -3,7 +3,10 @@ package com.shunzhi.parent.api;
3 3 import com.google.gson.JsonObject;
4 4  
5 5 import io.reactivex.Observable;
  6 +import retrofit2.http.Field;
  7 +import retrofit2.http.FormUrlEncoded;
6 8 import retrofit2.http.GET;
  9 +import retrofit2.http.POST;
7 10 import retrofit2.http.Query;
8 11  
9 12 /**
... ... @@ -12,9 +15,13 @@ import retrofit2.http.Query;
12 15  
13 16 public interface Consult {
14 17  
15   - @GET("api/ParentService/GetAds")
16   - Observable<JsonObject> getBanners(@Query("position") String position);
  18 + @GET("/api/ParentService/GetAds")
  19 + Observable<JsonObject> getBanners(@Query("position") String position, @Query("areaName") String areaName);
17 20  
18 21  
19   - Observable<JsonObject> getConsultContent();
  22 + @FormUrlEncoded
  23 + @POST("/api/ParentService/GetChannelInfo")
  24 + Observable<JsonObject> getConsultContent(@Field("areaName") String areaName, @Field("channel") int channel
  25 + , @Field("toFirstPage") int toFirstPage, @Field("pageIndex") int pageIndex);
  26 +
20 27 }
... ...
app/src/main/java/com/shunzhi/parent/bean/channel/ChannelBean.java 0 → 100644
... ... @@ -0,0 +1,67 @@
  1 +package com.shunzhi.parent.bean.channel;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +/**
  6 + * Created by lenovo on 2018/3/18.
  7 + */
  8 +
  9 +public class ChannelBean implements Serializable {
  10 + private int id;
  11 + private String channelName;
  12 + private String channelImage;
  13 + private int orderById;
  14 + private String url;
  15 +
  16 +
  17 + public int getId() {
  18 + return id;
  19 + }
  20 +
  21 + public void setId(int id) {
  22 + this.id = id;
  23 + }
  24 +
  25 + public String getChannelName() {
  26 + return channelName;
  27 + }
  28 +
  29 + public void setChannelName(String channelName) {
  30 + this.channelName = channelName;
  31 + }
  32 +
  33 + public String getChannelImage() {
  34 + return channelImage;
  35 + }
  36 +
  37 + public void setChannelImage(String channelImage) {
  38 + this.channelImage = channelImage;
  39 + }
  40 +
  41 + public int getOrderById() {
  42 + return orderById;
  43 + }
  44 +
  45 + public void setOrderById(int orderById) {
  46 + this.orderById = orderById;
  47 + }
  48 +
  49 + public String getUrl() {
  50 + return url;
  51 + }
  52 +
  53 + public void setUrl(String url) {
  54 + this.url = url;
  55 + }
  56 +
  57 + @Override
  58 + public String toString() {
  59 + return "ChannelContextBean:{" +
  60 + ",id='" + id + '\'' +
  61 + ",channelName='" + channelName + '\'' +
  62 + ",channelImage='" + channelImage + '\'' +
  63 + ",orderById='" + orderById + '\'' +
  64 + ", url=" + url +
  65 + "}";
  66 + }
  67 +}
... ...
app/src/main/java/com/shunzhi/parent/bean/channel/ChannelContextBean.java 0 → 100644
... ... @@ -0,0 +1,108 @@
  1 +package com.shunzhi.parent.bean.channel;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +/**
  6 + * Created by lenovo on 2018/3/18.
  7 + */
  8 +
  9 +public class ChannelContextBean implements Serializable{
  10 + private int id;
  11 + private String image;
  12 + private String title;
  13 + private String url;
  14 + private String content;
  15 + private int forwardingNum;
  16 + private int talkNum;
  17 + private int orderById;
  18 + private int isAds;
  19 +
  20 +
  21 + public int getId() {
  22 + return id;
  23 + }
  24 +
  25 + public void setId(int id) {
  26 + this.id = id;
  27 + }
  28 +
  29 + public String getImage() {
  30 + return image;
  31 + }
  32 +
  33 + public void setImage(String image) {
  34 + this.image = image;
  35 + }
  36 +
  37 + public String getTitle() {
  38 + return title;
  39 + }
  40 +
  41 + public void setTitle(String title) {
  42 + this.title = title;
  43 + }
  44 +
  45 + public String getUrl() {
  46 + return url;
  47 + }
  48 +
  49 + public void setUrl(String url) {
  50 + this.url = url;
  51 + }
  52 +
  53 + public String getContent() {
  54 + return content;
  55 + }
  56 +
  57 + public void setContent(String content) {
  58 + this.content = content;
  59 + }
  60 +
  61 + public int getForwardingNum() {
  62 + return forwardingNum;
  63 + }
  64 +
  65 + public void setForwardingNum(int forwardingNum) {
  66 + this.forwardingNum = forwardingNum;
  67 + }
  68 +
  69 + public int getTalkNum() {
  70 + return talkNum;
  71 + }
  72 +
  73 + public void setTalkNum(int talkNum) {
  74 + this.talkNum = talkNum;
  75 + }
  76 +
  77 + public int getOrderById() {
  78 + return orderById;
  79 + }
  80 +
  81 + public void setOrderById(int orderById) {
  82 + this.orderById = orderById;
  83 + }
  84 +
  85 + public int getIsAds() {
  86 + return isAds;
  87 + }
  88 +
  89 + public void setIsAds(int isAds) {
  90 + this.isAds = isAds;
  91 + }
  92 +
  93 + @Override
  94 + public String toString() {
  95 + return "ChannelContextBean:{" +
  96 + ",id='" + id + '\'' +
  97 + ",image='" + image + '\'' +
  98 + ",title='" + title + '\'' +
  99 + ",url='" + url + '\'' +
  100 + ",content='" + content + '\'' +
  101 + ",forwardingNum='" + forwardingNum + '\'' +
  102 + ",talkNum='" + talkNum + '\'' +
  103 + ",orderById='" + orderById + '\'' +
  104 + ", isAds=" + isAds +
  105 + "}";
  106 + }
  107 +
  108 +}
... ...
app/src/main/java/com/shunzhi/parent/bean/channel/ChannelInfo.java 0 → 100644
... ... @@ -0,0 +1,42 @@
  1 +package com.shunzhi.parent.bean.channel;
  2 +
  3 +import com.share.mvpsdk.base.BaseModel;
  4 +import com.share.mvpsdk.base.entity.BaseEntity;
  5 +import com.shunzhi.parent.bean.ToolBean;
  6 +
  7 +import java.io.Serializable;
  8 +import java.util.List;
  9 +
  10 +/**
  11 + * Created by lenovo on 2018/3/18.
  12 + */
  13 +
  14 +public class ChannelInfo implements Serializable {
  15 + private List<ChannelContextBean> channelContent;
  16 + private List<ChannelBean> subchannel;
  17 +
  18 +
  19 + public List<ChannelContextBean> getChannelContent() {
  20 + return channelContent;
  21 + }
  22 +
  23 + public void setChannelContent(List<ChannelContextBean> channelContent) {
  24 + this.channelContent = channelContent;
  25 + }
  26 +
  27 + public List<ChannelBean> getSubchannel() {
  28 + return subchannel;
  29 + }
  30 +
  31 + public void setSubchannel(List<ChannelBean> subchannel) {
  32 + this.subchannel = subchannel;
  33 + }
  34 +
  35 + @Override
  36 + public String toString() {
  37 + return "ChannelInfo{" +
  38 + ",subchannel='" + subchannel + '\'' +
  39 + ", channelContent=" + channelContent +
  40 + "}";
  41 + }
  42 +}
... ...
app/src/main/java/com/shunzhi/parent/contract/consult/ConsultContract.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  
... ... @@ -18,23 +20,31 @@ import io.reactivex.Observable;
18 20  
19 21 public interface ConsultContract {
20 22  
21   - abstract class ConsultPresenter extends BasePresenter<IConsultModel,IConsultView>{
  23 + abstract class ConsultPresenter extends BasePresenter<IConsultModel, IConsultView> {
22 24 public abstract void getTools(LinearLayout linearLayout);
23 25  
24   - public abstract void getBanners(String position);
  26 + public abstract void getBanners(String position, String areaName);
  27 +
  28 + public abstract void getContextChannel(String areaName, int channel, int toFirstPage, int pageIndex);
25 29 }
26 30  
27 31  
28   - interface IConsultModel extends IBaseModel{
  32 + interface IConsultModel extends IBaseModel {
29 33 Observable<JsonObject> getTools();
30 34  
31   - Observable<JsonObject> getBanners(String position);
  35 + Observable<JsonObject> getBanners(String position, String areaName);
  36 +
  37 + Observable<JsonObject> getContextChannel(String areaName, int channel, int toFirstPage, int pageIndex);
32 38 }
33 39  
34   - interface IConsultView extends IBaseFragment{
  40 + interface IConsultView extends IBaseFragment {
35 41 void showTools();
36 42  
37 43 void showBanners(List<GuangGaoBean> guangGaoBeanList);
  44 +
  45 + void showChannel(List<ChannelBean> list);
  46 +
  47 + void showContext(List<ChannelContextBean> list);
38 48 }
39 49  
40 50 }
... ...
app/src/main/java/com/shunzhi/parent/contract/consult/consultone/ConsultOneContract.java
... ... @@ -21,17 +21,17 @@ public interface ConsultOneContract {
21 21 abstract class ConsultOnePresenter extends BasePresenter<IConsultOneModel,IConsultOneView>{
22 22 public abstract void getTools(LinearLayout linearLayout);
23 23  
24   - public abstract void getBanners(String position);
  24 + public abstract void getBanners(String position,String areaName);
25 25  
26   - public abstract void getConsultContent();
  26 + public abstract void getConsultContent(String areaName, int channel, int toFirstPage, int pageIndex);
27 27 }
28 28  
29 29 interface IConsultOneModel extends IBaseModel{
30 30 void getTools();
31 31  
32   - Observable<JsonObject> getBanners(String position);
  32 + Observable<JsonObject> getBanners(String position,String areaName);
33 33  
34   - Observable<JsonObject> getConsultContent();
  34 + Observable<JsonObject> getConsultContent(String areaName, int channel, int toFirstPage, int pageIndex);
35 35 }
36 36  
37 37 interface IConsultOneView extends IBaseFragment{
... ...
app/src/main/java/com/shunzhi/parent/model/consult/ConsultModel.java
... ... @@ -6,6 +6,8 @@ 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;
9 11 import com.shunzhi.parent.contract.consult.ConsultContract;
10 12  
11 13 import io.reactivex.Observable;
... ... @@ -23,9 +25,17 @@ public class ConsultModel extends BaseModel implements ConsultContract.IConsultM
23 25 }
24 26  
25 27 @Override
26   - public Observable<JsonObject> getBanners(String position) {
  28 + public Observable<JsonObject> getBanners(String position,String areaName) {
27 29 return RetrofitCreateHelper.getInstance().createApi(Consult.class, AppConfig.BASE_URL)
28   - .getBanners(position).compose(RxHelper.<JsonObject>rxSchedulerHelper());
  30 + .getBanners(position,areaName).compose(RxHelper.<JsonObject>rxSchedulerHelper());
  31 + }
  32 +
  33 + @Override
  34 + 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 + return RetrofitCreateHelper.getInstance().createApi(Consult.class,AppConfig.BASE_URL).getConsultContent(areaName,channel,toFirstPage,pageIndex)
  38 + .compose(RxHelper.<JsonObject>rxSchedulerHelper());
29 39 }
30 40  
31 41 public static ConsultContract.IConsultModel newInstance() {
... ...
app/src/main/java/com/shunzhi/parent/model/consult/consultone/ConsultOneModel.java
... ... @@ -27,14 +27,14 @@ public class ConsultOneModel extends BaseModel implements ConsultOneContract.ICo
27 27 }
28 28  
29 29 @Override
30   - public Observable<JsonObject> getBanners(String position) {
  30 + public Observable<JsonObject> getBanners(String position,String areaName) {
31 31 return RetrofitCreateHelper.getInstance().createApi(Consult.class, AppConfig.BASE_URL)
32   - .getBanners(position).compose(RxHelper.<JsonObject>rxSchedulerHelper());
  32 + .getBanners(position,areaName).compose(RxHelper.<JsonObject>rxSchedulerHelper());
33 33 }
34 34  
35 35 @Override
36   - public Observable<JsonObject> getConsultContent() {
37   - return RetrofitCreateHelper.getInstance().createApi(Consult.class,AppConfig.BASE_URL)
38   - .getConsultContent().compose(RxHelper.<JsonObject>rxSchedulerHelper());
  36 + public Observable<JsonObject> getConsultContent(String areaName, int channel, int toFirstPage, int pageIndex) {
  37 + return RetrofitCreateHelper.getInstance().createApi(Consult.class, AppConfig.BASE_URL)
  38 + .getConsultContent(areaName,channel,toFirstPage,pageIndex);
39 39 }
40 40 }
... ...
app/src/main/java/com/shunzhi/parent/presenter/consult/ConsultPresenter.java
... ... @@ -9,20 +9,27 @@ import android.widget.LinearLayout;
9 9 import com.google.gson.Gson;
10 10 import com.google.gson.JsonArray;
11 11 import com.google.gson.JsonObject;
  12 +import com.share.mvpsdk.utils.OkHttpExceptionUtil;
12 13 import com.share.mvpsdk.utils.ToastUtils;
13 14 import com.shunzhi.parent.R;
14 15 import com.shunzhi.parent.bean.GuangGaoBean;
15 16 import com.shunzhi.parent.bean.ToolBean;
  17 +import com.shunzhi.parent.bean.channel.ChannelBean;
  18 +import com.shunzhi.parent.bean.channel.ChannelContextBean;
  19 +import com.shunzhi.parent.bean.channel.ChannelInfo;
16 20 import com.shunzhi.parent.contract.consult.ConsultContract;
17 21 import com.shunzhi.parent.model.consult.ConsultModel;
18 22 import com.shunzhi.parent.ui.activity.consult.ConsultOneLevelActivity;
19 23 import com.shunzhi.parent.util.AttrsUtils;
20 24 import com.shunzhi.parent.views.TextAndImgShowView;
21 25  
  26 +import org.json.JSONObject;
  27 +
22 28 import java.util.ArrayList;
23 29 import java.util.List;
24 30  
25 31 import io.reactivex.functions.Consumer;
  32 +import retrofit2.HttpException;
26 33  
27 34 /**
28 35 * Created by ToaHanDong on 2018/3/14.
... ... @@ -31,18 +38,18 @@ import io.reactivex.functions.Consumer;
31 38 public class ConsultPresenter extends ConsultContract.ConsultPresenter {
32 39 @Override
33 40 public void getTools(LinearLayout layout_control) {
34   - List<ToolBean> toolBeanList=new ArrayList<>();
35   - toolBeanList.add(new ToolBean(R.drawable.xiaoxue+"","小学"));
36   - toolBeanList.add(new ToolBean(R.drawable.zhongxue+"","中学"));
37   - toolBeanList.add(new ToolBean(R.drawable.gaozhong+"","高中"));
38   - toolBeanList.add(new ToolBean(R.drawable.parent+"","家长"));
  41 + List<ToolBean> toolBeanList = new ArrayList<>();
  42 + toolBeanList.add(new ToolBean(R.drawable.xiaoxue + "", "小学"));
  43 + toolBeanList.add(new ToolBean(R.drawable.zhongxue + "", "中学"));
  44 + toolBeanList.add(new ToolBean(R.drawable.gaozhong + "", "高中"));
  45 + toolBeanList.add(new ToolBean(R.drawable.parent + "", "家长"));
39 46 for (int i = 0; i < toolBeanList.size(); i++) {
40   - TextAndImgShowView textAndImgShowView=new TextAndImgShowView(mIView.getBindActivity());
  47 + TextAndImgShowView textAndImgShowView = new TextAndImgShowView(mIView.getBindActivity());
41 48 textAndImgShowView.setTextColor(R.color.textColor);
42 49 textAndImgShowView.setText(toolBeanList.get(i).toolName);
43 50 textAndImgShowView.setImgs(R.drawable.play, Integer.parseInt(toolBeanList.get(i).toolImage));
44 51 textAndImgShowView.setSelect(true);
45   - textAndImgShowView.setWidth(mIView.getBindActivity(),layout_control);
  52 + textAndImgShowView.setWidth(mIView.getBindActivity(), layout_control);
46 53 textAndImgShowView.setBackground(AttrsUtils.getAttrs(mIView.getBindActivity()).getDrawable(0));
47 54 textAndImgShowView.setOnClickListener(new View.OnClickListener() {
48 55 @Override
... ... @@ -56,29 +63,58 @@ public class ConsultPresenter extends ConsultContract.ConsultPresenter {
56 63 }
57 64  
58 65 @Override
59   - public void getBanners(String position) {
  66 + public void getBanners(String position, String areaName) {
60 67  
61   - mRxManager.register(mIModel.getBanners(position).subscribe(new Consumer<JsonObject>() {
  68 + mRxManager.register(mIModel.getBanners(position, areaName).subscribe(new Consumer<JsonObject>() {
62 69 @Override
63 70 public void accept(JsonObject jsonObject) throws Exception {
64   - if (jsonObject.get("status").getAsString().equals("1")){
65   - JsonArray jsonArray=jsonObject.getAsJsonArray("data");
66   - List<GuangGaoBean> guangGaoBeanList=new ArrayList<>();
  71 + if (jsonObject.get("status").getAsString().equals("1")) {
  72 + JsonArray jsonArray = jsonObject.getAsJsonArray("data");
  73 + List<GuangGaoBean> guangGaoBeanList = new ArrayList<>();
67 74 for (int i = 0; i < jsonArray.size(); i++) {
68   - GuangGaoBean guangGaoBean=new Gson().fromJson(jsonArray.get(i).getAsJsonObject(),GuangGaoBean.class);
  75 + GuangGaoBean guangGaoBean = new Gson().fromJson(jsonArray.get(i).getAsJsonObject(), GuangGaoBean.class);
69 76 guangGaoBeanList.add(guangGaoBean);
70 77 }
71 78 mIView.showBanners(guangGaoBeanList);
72   - }else {
  79 + } else {
73 80 ToastUtils.showToast(jsonObject.get("message").getAsString());
74 81 }
75 82 }
76 83 }, new Consumer<Throwable>() {
77 84 @Override
78 85 public void accept(Throwable throwable) throws Exception {
  86 + OkHttpExceptionUtil.handOkHttpException((HttpException) throwable);
  87 + }
  88 + }));
  89 + }
  90 +
  91 + @Override
  92 + public void getContextChannel(String areaName, int channel, int toFirstPage, int pageIndex) {
  93 + mRxManager.register(mIModel.getContextChannel(areaName, channel, toFirstPage, pageIndex).subscribe(new Consumer<JsonObject>() {
  94 + @Override
  95 + public void accept(JsonObject jsonObject) throws Exception {
  96 + ToastUtils.showToast(jsonObject.toString());
  97 + JsonObject json=jsonObject.getAsJsonObject("data");
  98 + Gson g=new Gson();
  99 + ChannelInfo channelInfo = g.fromJson(json.toString(),ChannelInfo.class);
  100 + List<ChannelContextBean> contextList = channelInfo.getChannelContent();
  101 + List<ChannelBean> channelList = channelInfo.getSubchannel();
  102 + mIView.showChannel(channelList);
  103 + mIView.showContext(contextList);
  104 +
  105 +
  106 +
79 107  
80 108 }
  109 + }, new Consumer<Throwable>() {
  110 + @Override
  111 + public void accept(Throwable throwable) throws Exception {
  112 + OkHttpExceptionUtil.handOkHttpException((HttpException) throwable);
  113 + }
81 114 }));
  115 +
  116 +
  117 +
82 118 }
83 119  
84 120 @Override
... ...
app/src/main/java/com/shunzhi/parent/presenter/consult/consultone/ConsultOnePresenter.java
... ... @@ -54,8 +54,8 @@ public class ConsultOnePresenter extends ConsultOneContract.ConsultOnePresenter{
54 54 }
55 55  
56 56 @Override
57   - public void getBanners(String position) {
58   - mRxManager.register(mIModel.getBanners(position).subscribe(new Consumer<JsonObject>() {
  57 + public void getBanners(String position,String areaName) {
  58 + mRxManager.register(mIModel.getBanners(position,areaName).subscribe(new Consumer<JsonObject>() {
59 59 @Override
60 60 public void accept(JsonObject jsonObject) throws Exception {
61 61 if (jsonObject.get("status").getAsString().equals("1")){
... ... @@ -79,10 +79,11 @@ public class ConsultOnePresenter extends ConsultOneContract.ConsultOnePresenter{
79 79 }
80 80  
81 81 @Override
82   - public void getConsultContent() {
  82 + public void getConsultContent(String areaName, int channel, int toFirstPage, int pageIndex) {
83 83  
84 84 }
85 85  
  86 +
86 87 @Override
87 88 public ConsultOneContract.IConsultOneModel getModel() {
88 89 return ConsultOneModel.newInstance();
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/ConsultFragment.java
... ... @@ -7,6 +7,8 @@ import android.content.IntentFilter;
7 7 import android.os.Bundle;
8 8 import android.support.annotation.NonNull;
9 9 import android.support.annotation.Nullable;
  10 +import android.support.v7.widget.LinearLayoutManager;
  11 +import android.support.v7.widget.RecyclerView;
10 12 import android.view.View;
11 13 import android.widget.ImageView;
12 14 import android.widget.LinearLayout;
... ... @@ -18,9 +20,15 @@ import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
18 20 import com.shunzhi.parent.AppConfig;
19 21 import com.shunzhi.parent.AppContext;
20 22 import com.shunzhi.parent.R;
  23 +import com.shunzhi.parent.adapter.ContextAdapter;
21 24 import com.shunzhi.parent.bean.GuangGaoBean;
  25 +import com.shunzhi.parent.bean.channel.ChannelBean;
  26 +import com.shunzhi.parent.bean.channel.ChannelContextBean;
22 27 import com.shunzhi.parent.contract.consult.ConsultContract;
23 28 import com.shunzhi.parent.presenter.consult.ConsultPresenter;
  29 +import com.shunzhi.parent.ui.activity.consult.ConsultOneLevelActivity;
  30 +import com.shunzhi.parent.util.AttrsUtils;
  31 +import com.shunzhi.parent.views.TextAndImgShowView;
24 32 import com.stx.xhb.xbanner.XBanner;
25 33  
26 34 import java.io.ByteArrayOutputStream;
... ... @@ -33,15 +41,20 @@ import cn.jzvd.JZVideoPlayerStandard;
33 41 import me.leefeng.citypicker.CityPicker;
34 42 import me.leefeng.citypicker.CityPickerListener;
35 43  
36   -public class ConsultFragment extends BaseMVPCompatFragment<ConsultContract.ConsultPresenter,ConsultContract.IConsultModel> implements View.OnClickListener
37   -,ConsultContract.IConsultView,CityPickerListener{
  44 +public class ConsultFragment extends BaseMVPCompatFragment<ConsultContract.ConsultPresenter, ConsultContract.IConsultModel> implements View.OnClickListener
  45 + , ConsultContract.IConsultView, CityPickerListener {
38 46  
39 47 ImageView ivSearch;
40 48  
41 49 XBanner xBanner;
42 50  
  51 + RecyclerView recycler_context;
  52 +
  53 + ContextAdapter contextAdapter;
  54 +
43 55 List<String> imgesUrl = new ArrayList<>();
44 56 List<String> describeList = new ArrayList<>();
  57 + List<ChannelContextBean> contextList = new ArrayList<>();
45 58  
46 59 JZVideoPlayerStandard videoplayer;
47 60  
... ... @@ -49,8 +62,8 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
49 62  
50 63 LinearLayout layout_control;
51 64  
52   - CityPicker cityPicker=null;
53   -
  65 + CityPicker cityPicker = null;
  66 +
54 67 @Override
55 68 public int getLayoutId() {
56 69 return R.layout.fragment_zi_xun;
... ... @@ -59,25 +72,36 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
59 72 @Override
60 73 public void initUI(View view, @Nullable Bundle savedInstanceState) {
61 74  
  75 +
  76 + recycler_context = view.findViewById(R.id.recycler_content);
  77 + initRecycler();
  78 +
62 79 ivSearch = view.findViewById(R.id.ivSearch);
63 80 xBanner = view.findViewById(R.id.xBanner);
64 81 videoplayer = view.findViewById(R.id.videoplayer);
65 82 tvLocalAddress = view.findViewById(R.id.tvLocalAddress);
66   - layout_control=view.findViewById(R.id.layout_control);
  83 + layout_control = view.findViewById(R.id.layout_control);
67 84  
68 85 tvLocalAddress.setText(AppContext.getInstance().cityName);
69 86 videoplayer.batteryLevel.setVisibility(View.GONE);
70 87 videoplayer.replayTextView.setVisibility(View.GONE);
71 88 videoplayer.backButton.setVisibility(View.GONE);
72 89  
73   - mPresenter.getTools(layout_control);
74   - mPresenter.getBanners("2");
  90 +// mPresenter.getTools(layout_control);
  91 + mPresenter.getBanners("2", "余杭区");
  92 + mPresenter.getContextChannel("余杭区", 0, 1, 1);
75 93  
76 94 initBroadCast();
77 95  
78 96 initListeners();
79 97 }
80 98  
  99 + private void initRecycler() {
  100 + recycler_context.setLayoutManager(new LinearLayoutManager(getActivity()));
  101 + contextAdapter = new ContextAdapter(getActivity());
  102 +
  103 + }
  104 +
81 105 private void initListeners() {
82 106 ivSearch.setOnClickListener(this);
83 107 tvLocalAddress.setOnClickListener(this);
... ... @@ -118,8 +142,8 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
118 142 switch (view.getId()) {
119 143 case R.id.tvLocalAddress:
120 144 // AppContext.getInstance().startLocation();
121   - if (null==cityPicker)cityPicker=new CityPicker(getActivity(),this);
122   - if (cityPicker.isShow())cityPicker.close();
  145 + if (null == cityPicker) cityPicker = new CityPicker(getActivity(), this);
  146 + if (cityPicker.isShow()) cityPicker.close();
123 147 else cityPicker.show();
124 148 break;
125 149 case R.id.ivSearch://搜索按钮
... ... @@ -149,8 +173,8 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
149 173 @Override
150 174 public void onDestroy() {
151 175 super.onDestroy();
152   - if (null!=broadcastReceiver)getActivity().unregisterReceiver(broadcastReceiver);
153   - if (null!=cityPicker)cityPicker.cancle();
  176 + if (null != broadcastReceiver) getActivity().unregisterReceiver(broadcastReceiver);
  177 + if (null != cityPicker) cityPicker.cancle();
154 178 }
155 179  
156 180 @Override
... ... @@ -161,13 +185,47 @@ public class ConsultFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consu
161 185 @Override
162 186 public void showBanners(List<GuangGaoBean> guangGaoBeanList) {
163 187 for (int i = 0; i < guangGaoBeanList.size(); i++) {
164   - imgesUrl.add(AppConfig.BASE_URL_IMG+guangGaoBeanList.get(i).fileSrc);
  188 + imgesUrl.add(AppConfig.BASE_URL_IMG + guangGaoBeanList.get(i).fileSrc);
165 189 describeList.add(guangGaoBeanList.get(i).describe);
166 190 }
167 191 initBanners();
168 192 }
169 193  
170 194 @Override
  195 + public void showChannel(List<ChannelBean> list) {
  196 + for (int i = 0; i < list.size(); i++) {
  197 + TextAndImgShowView textAndImgShowView = new TextAndImgShowView(getActivity());
  198 + textAndImgShowView.setTextColor(R.color.textColor);
  199 + textAndImgShowView.setText(list.get(i).getChannelName());
  200 +// textAndImgShowView.setImgs(R.drawable.play, Integer.parseInt(list.get(i).getChannelImage()));
  201 + textAndImgShowView.setSelect(true);
  202 + textAndImgShowView.setWidth(getActivity(), layout_control);
  203 + textAndImgShowView.setBackground(AttrsUtils.getAttrs(getActivity()).getDrawable(0));
  204 + textAndImgShowView.setOnClickListener(new View.OnClickListener() {
  205 + @Override
  206 + public void onClick(View view) {
  207 + ConsultOneLevelActivity.getInstance(getActivity());
  208 + }
  209 + });
  210 + layout_control.addView(textAndImgShowView);
  211 + }
  212 +
  213 +
  214 +
  215 +
  216 + }
  217 +
  218 + @Override
  219 + public void showContext(List<ChannelContextBean> list) {
  220 + contextList.clear();
  221 + contextList.addAll(list);
  222 + contextAdapter.addAll(contextList);
  223 + recycler_context.setAdapter(contextAdapter);
  224 +
  225 +
  226 + }
  227 +
  228 + @Override
171 229 public void getCity(String name) {
172 230 tvLocalAddress.setText(name.split(" ")[1]);
173 231 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/StartFragment.java
... ... @@ -14,6 +14,8 @@ import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
14 14 import com.shunzhi.parent.AppConfig;
15 15 import com.shunzhi.parent.R;
16 16 import com.shunzhi.parent.bean.GuangGaoBean;
  17 +import com.shunzhi.parent.bean.channel.ChannelBean;
  18 +import com.shunzhi.parent.bean.channel.ChannelContextBean;
17 19 import com.shunzhi.parent.contract.consult.ConsultContract;
18 20 import com.shunzhi.parent.presenter.consult.ConsultPresenter;
19 21 import com.shunzhi.parent.ui.MainActivity;
... ... @@ -36,9 +38,9 @@ public class StartFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consult
36 38 public void initUI(View view, @Nullable Bundle savedInstanceState) {
37 39 xBanner = view.findViewById(R.id.xBanner);
38 40 if (!TextUtils.isEmpty(AppConfig.getAppConfig(getContext()).get(AppConfig.APP_IS_START))) {
39   - mPresenter.getBanners("0");
  41 + mPresenter.getBanners("0","杭州");
40 42 AppConfig.getAppConfig(getContext()).set(AppConfig.APP_IS_START, "1");
41   - } else mPresenter.getBanners("1");
  43 + } else mPresenter.getBanners("1","杭州");
42 44 }
43 45  
44 46 @NonNull
... ... @@ -57,6 +59,16 @@ public class StartFragment extends BaseMVPCompatFragment&lt;ConsultContract.Consult
57 59 initBannes(guangGaoBeanList);
58 60 }
59 61  
  62 + @Override
  63 + public void showChannel(List<ChannelBean> list) {
  64 +
  65 + }
  66 +
  67 + @Override
  68 + public void showContext(List<ChannelContextBean> list) {
  69 +
  70 + }
  71 +
60 72 private void initBannes(List<GuangGaoBean> guangGaoBeanList) {
61 73 final List<String> imgUrl = new ArrayList<>();
62 74 List<String> describeList = new ArrayList<>();
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/consult/ConsultOneLevelFragment.java
... ... @@ -81,7 +81,7 @@ public class ConsultOneLevelFragment extends BaseMVPCompatFragment&lt;ConsultOneCon
81 81 recyclerViewGrally = view.findViewById(R.id.recyclerViewGrally);
82 82 recyclerViewConsultOne = view.findViewById(R.id.recyclerViewConsultOne);
83 83  
84   - mPresenter.getBanners("3");
  84 + mPresenter.getBanners("3","杭州");
85 85 initRecyclerViewConsult();
86 86 }
87 87  
... ...
app/src/main/res/layout/fragment_zi_xun.xml
... ... @@ -31,14 +31,23 @@
31 31 android:orientation="vertical">
32 32  
33 33 <TextView
34   - android:layout_width="wrap_content"
  34 + android:layout_width="match_parent"
35 35 android:layout_height="wrap_content"
36 36 android:text="@string/consult_huati"
37 37 android:textColor="@color/xueqing_blue"
38 38 android:textSize="@dimen/textSize16" />
39 39  
40   - <include layout="@layout/layout_consult_content"/>
  40 + <!--<include layout="@layout/layout_consult_content"/>-->
  41 + <LinearLayout
  42 + android:layout_width="match_parent"
  43 + 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">
41 48  
  49 + </android.support.v7.widget.RecyclerView>
  50 + </LinearLayout>
42 51 </LinearLayout>
43 52  
44 53  
... ...
app/src/main/res/layout/layout_consult_content.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:layout_marginBottom="@dimen/size_dp_10"
5   - android:layout_height="wrap_content">
  4 + android:layout_height="wrap_content"
  5 + android:layout_marginBottom="@dimen/size_dp_10">
  6 +
6 7 <LinearLayout
7 8 android:layout_width="match_parent"
8 9 android:layout_height="match_parent"
... ... @@ -45,27 +46,34 @@
45 46 android:layout_height="wrap_content"
46 47 android:layout_marginTop="@dimen/size_dp_5">
47 48  
48   - <TextView
49   - android:id="@+id/tvPingLunNums"
50   - style="@style/TextView_Wrap_16"
51   - android:layout_gravity="center_vertical"
52   - android:text="评论:30"
53   - android:textSize="@dimen/textSize14" />
  49 + <RelativeLayout
  50 + android:layout_width="match_parent"
  51 + android:layout_height="wrap_content">
  52 +
  53 + <TextView
  54 + android:id="@+id/tvPingLunNums"
  55 + style="@style/TextView_Wrap_16"
  56 + android:layout_gravity="center_vertical"
  57 + android:text="评论:30"
  58 + android:textSize="@dimen/textSize14" />
54 59  
55   - <TextView
56   - android:id="@+id/tvZhuanFaNums"
57   - style="@style/TextView_Wrap_16"
58   - android:layout_gravity="right|center_vertical"
59   - android:text="转发:50"
60   - android:textSize="@dimen/textSize14" />
  60 + <TextView
  61 + android:id="@+id/tvZhuanFaNums"
  62 + style="@style/TextView_Wrap_16"
  63 + android:layout_alignParentRight="true"
  64 + android:layout_centerVertical="true"
  65 + android:text="转发:50"
  66 + android:textSize="@dimen/textSize14" />
  67 + </RelativeLayout>
61 68 </FrameLayout>
  69 +
62 70 </LinearLayout>
63 71  
64 72 <ImageView
65   - android:layout_margin="@dimen/size_dp_2"
66 73 android:id="@+id/iv_consult"
67 74 android:layout_width="0dp"
68 75 android:layout_height="match_parent"
  76 + android:layout_margin="@dimen/size_dp_2"
69 77 android:layout_weight="2"
70 78 android:src="@color/xueqing_blue" />
71 79 </LinearLayout>
... ...