今日头条导航栏动画选中+recyclerview



主页面

Model层

接口DataModel

package com.example.administrator.myapplication08.Model;


import com.example.administrator.myapplication08.OnNetListener;

/**
 * Created by MSI on 2018/5/28.
 */

public interface DataModel {
    void showData(String page, OnNetListener onNetListener);
}

DataModelImp类

package com.example.administrator.myapplication08.Model;


import com.example.administrator.myapplication08.Api;
import com.example.administrator.myapplication08.OnNetListener;
import com.example.administrator.myapplication08.Utils.OkhttpUtils;

/**
 * Created by MSI on 2018/5/28.
 */

public class DataModelImp implements DataModel{

    @Override
    public void showData(String page, final OnNetListener onNetListener) {
        OkhttpUtils.getInstance().doGet(Api.DATA_URL + "?page=" + page, new OnNetListener() {
            @Override
            public void OnSuccess(String result) {
                onNetListener.OnSuccess(result);
            }

            @Override
            public void OnFilder(Exception e) {
                onNetListener.OnFilder(e);
            }
        });
    }
}
 
 

Presenter层

接口DataPresenter

扫描二维码关注公众号,回复: 1484040 查看本文章

package com.example.administrator.myapplication08.Presenter;

/**
 * Created by MSI on 2018/5/28.
 */

public interface DataPresenter {
    void showData(String page);
}

DataPresenterImp类

package com.example.administrator.myapplication08.Presenter;

import com.example.administrator.myapplication08.DataView;
import com.example.administrator.myapplication08.Model.DataModelImp;
import com.example.administrator.myapplication08.OnNetListener;
import com.example.administrator.myapplication08.View.DataBeans;
import com.google.gson.Gson;

import java.util.List;

/**
 * Created by MSI on 2018/5/28.
 */

public class DataPresenterImp implements DataPresenter {
    private DataView dataView;
    private final DataModelImp dataModelImp;


    /**
     *  绑定View
     * @param dataView
     */
    public void attachView(DataView dataView){
        this.dataView = dataView;
    }

    /**
     *  解绑View
     */
    public void detachView(){
        dataView = null;
    }

    /**
     *  使用前先检查当前View是否可用
     * @return
     */
    public boolean checkViewAvailable(){
        return dataView != null;
    }


    public DataPresenterImp(DataView dataView) {
        this.dataView = dataView;
        dataModelImp = new DataModelImp();
    }

    @Override
    public void showData(String page) {
        dataModelImp.showData(page, new OnNetListener() {
            @Override
            public void OnSuccess(String result) {
                DataBeans dataBeans = new Gson().fromJson(result, DataBeans.class);
                int code = dataBeans.getCode();
                DataBeans.DataBeanX data = dataBeans.getData();
                List<DataBeans.DataBeanX.DataBean> listData = data.getData();
                if(0 == code){
                    dataView.showData(listData);
                }
            }

            @Override
            public void OnFilder(Exception e) {

            }
        });
    }

    public void cloneView(){
        if(dataView != null){
            dataView = null;
        }
    }
}
 
 

Utils层

OkhttpUtils类

package com.example.administrator.myapplication08.Utils;

import android.os.Handler;
import android.os.Looper;
import com.example.administrator.myapplication08.OnNetListener;

import java.io.IOException;
import java.util.concurrent.TimeUnit;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

/**
 * Created by MSI on 2018/5/28.
 */
//kHttp做网络请求,封装网络请求工具类
public class OkhttpUtils {
    private static OkhttpUtils instance;
    private final OkHttpClient okHttpClient;
    private Handler handler;
    private OkhttpUtils() {
        okHttpClient = new OkHttpClient.Builder()
                .connectTimeout(15, TimeUnit.SECONDS)
                .writeTimeout(15,TimeUnit.SECONDS)
                .readTimeout(15, TimeUnit.SECONDS)
                .build();
        handler = new Handler(Looper.getMainLooper());
    }

    public static OkhttpUtils getInstance(){
        if(instance == null){
            instance = new OkhttpUtils();
        }
        return instance;
    }

    public void doGet(String url, final OnNetListener onNetListener){
        //创建Request
        final Request request = new Request.Builder()
                .url(url)
                .build();
        //发送请求
        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, final IOException e) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        onNetListener.OnFilder(e);
                    }
                });
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                final String string = response.body().string();
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        onNetListener.OnSuccess(string);
                    }
                });
            }
        });
    }

}
 
 

View层

Bean类

package com.example.administrator.myapplication08.View;

import java.util.List;

/**
 * Created by MSI on 2018/5/28.
 */

public class Bean {
    /**
     * msg : 成功的返回
     * code : 1
     * data : [{"uniquekey":"1326bf3c4505783d4a964f81b6220e9d","title":"美国被特朗普坑惨了!又有3个铁杆盟友公开唱对台戏!","date":"2018-05-12 07:25","category":"头条","author_name":"大国军情","url":"http://mini.eastday.com/mobile/180512072544020.html","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512_fe1bf1b6ec00098f9455c84dc81e6763_cover_mwpm_03200403.jpg","thumbnail_pic_s02":"http://04.imgmini.eastday.com/mobile/20180512/20180512_3f636fca330f2311583896aed3185196_cover_mwpm_03200403.jpg","thumbnail_pic_s03":"http://04.imgmini.eastday.com/mobile/20180512/20180512_793fab03dadcd417bf2d8e5e1e48a0f5_cover_mwpm_03200403.jpg"},{"uniquekey":"9db153b507c10bbbed1d26c29c030eef","title":"第71届戛纳电影节:贾樟柯电影《江湖儿女》首映","date":"2018-05-12 07:25","category":"头条","author_name":"新华网","url":"http://mini.eastday.com/mobile/180512072505095.html","thumbnail_pic_s":"http://01.imgmini.eastday.com/mobile/20180512/20180512072505_0fe08f494e7c090764244e3581b3e5ca_5_mwpm_03200403.jpg","thumbnail_pic_s02":"http://01.imgmini.eastday.com/mobile/20180512/20180512072505_0fe08f494e7c090764244e3581b3e5ca_1_mwpm_03200403.jpg","thumbnail_pic_s03":"http://01.imgmini.eastday.com/mobile/20180512/20180512072505_0fe08f494e7c090764244e3581b3e5ca_3_mwpm_03200403.jpg"},{"uniquekey":"4f47eb31b188cfa90881260bb2b11aa8","title":"以色列发射60枚火箭弹对伊朗进行报复,中东小霸王称号保不住了","date":"2018-05-12 07:24","category":"头条","author_name":"遇见优佳","url":"http://mini.eastday.com/mobile/180512072412903.html","thumbnail_pic_s":"http://06.imgmini.eastday.com/mobile/20180512/20180512_38f5183808987be3783b180740d12a2a_cover_mwpm_03200403.jpg","thumbnail_pic_s02":"http://06.imgmini.eastday.com/mobile/20180512/20180512_a3d9f98eb0e3fe36574581f00fa0f898_cover_mwpm_03200403.jpg","thumbnail_pic_s03":"http://06.imgmini.eastday.com/mobile/20180512/20180512_37fa1339af2e64cfd2dc85191950e8ba_cover_mwpm_03200403.jpg"},{"uniquekey":"a3ef77503b9924d7ad6957a5af5da5d1","title":"苏丹驻华大使送别招待会在公共外交文化交流中心举行","date":"2018-05-12 07:22","category":"头条","author_name":"国际在线","url":"http://mini.eastday.com/mobile/180512072229596.html","thumbnail_pic_s":"http://00.imgmini.eastday.com/mobile/20180512/20180512072229_a296d945ae7fe08eed7d78060ce3f5c2_6_mwpm_03200403.jpg","thumbnail_pic_s02":"http://00.imgmini.eastday.com/mobile/20180512/20180512072229_a296d945ae7fe08eed7d78060ce3f5c2_7_mwpm_03200403.jpg","thumbnail_pic_s03":"http://00.imgmini.eastday.com/mobile/20180512/20180512072229_a296d945ae7fe08eed7d78060ce3f5c2_5_mwpm_03200403.jpg"},{"uniquekey":"b447b3941c73a35e587273a8a1b05c2d","title":"十九届三中全会以来推进党和国家机构改革述评","date":"2018-05-12 07:17","category":"头条","author_name":"中国新闻网","url":"http://mini.eastday.com/mobile/180512071745564.html","thumbnail_pic_s":"http://00.imgmini.eastday.com/mobile/20180512/20180512071745_6accdc1c2a1356851f0bf51247a8f256_9_mwpm_03200403.jpg","thumbnail_pic_s02":"http://00.imgmini.eastday.com/mobile/20180512/20180512071745_6accdc1c2a1356851f0bf51247a8f256_8_mwpm_03200403.jpg","thumbnail_pic_s03":"http://00.imgmini.eastday.com/mobile/20180512/20180512071745_6accdc1c2a1356851f0bf51247a8f256_4_mwpm_03200403.jpg"},{"uniquekey":"fc91bd75121e2e84a6cb3d239ddb9846","title":"太反常!特朗普声称退出伊核协议以来,伊朗的表现让美军不适应","date":"2018-05-12 07:15","category":"头条","author_name":"阿尔法军事","url":"http://mini.eastday.com/mobile/180512071539046.html","thumbnail_pic_s":"http://01.imgmini.eastday.com/mobile/20180512/20180512_85e54ca8649794d2c3fdf06faf04fa87_cover_mwpm_03200403.jpg","thumbnail_pic_s02":"http://01.imgmini.eastday.com/mobile/20180512/20180512_e8df98afa3707e436d1793e66d5bc063_cover_mwpm_03200403.jpg","thumbnail_pic_s03":"http://01.imgmini.eastday.com/mobile/20180512/20180512_a1d1e3735f424eba66244a7842b2f7bf_cover_mwpm_03200403.jpg"},{"uniquekey":"ebed0b6a189873fa375a47ee8463c9be","title":"沪正在全面消除无证餐饮店铺 \u201c共享餐厅\u201d最快6月运营","date":"2018-05-12 07:13","category":"头条","author_name":"东方网","url":"http://mini.eastday.com/mobile/180512071324017.html","thumbnail_pic_s":"http://06.imgmini.eastday.com/mobile/20180512/20180512071324_ae237ccc4fcee20ec4909588b5b7609f_1_mwpm_03200403.jpg"},{"uniquekey":"8a88eb5466a46cf6d975579ccb658e29","title":"特朗普嘲讽奥巴马:他花18亿救人,我让朝鲜免费放人","date":"2018-05-12 07:09","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512070940666.html","thumbnail_pic_s":"http://05.imgmini.eastday.com/mobile/20180512/20180512070940_3108dd32b82c16f350b949340f95a647_1_mwpm_03200403.jpg"},{"uniquekey":"6113c546a13e9292ced28b0199a23108","title":"身在国外,这五点我必须说清楚!","date":"2018-05-12 07:03","category":"头条","author_name":"新华网","url":"http://mini.eastday.com/mobile/180512070344831.html","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512070344_7f0366d60dea69d79c1f0432600b5f20_4_mwpm_03200403.jpg","thumbnail_pic_s02":"http://02.imgmini.eastday.com/mobile/20180512/20180512070344_7f0366d60dea69d79c1f0432600b5f20_2_mwpm_03200403.jpg","thumbnail_pic_s03":"http://02.imgmini.eastday.com/mobile/20180512/20180512070344_7f0366d60dea69d79c1f0432600b5f20_3_mwpm_03200403.jpg"},{"uniquekey":"ca9d43ed0e6875692164bea6cc898065","title":"再\u201c读\u201d汶川|究竟是一种什么样的力量,让中国人如此勇敢地面对可怕的灾难?","date":"2018-05-12 06:59","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512065922743.html","thumbnail_pic_s":"http://03.imgmini.eastday.com/mobile/20180512/20180512065922_e367e5443f66512176376bd05ed65f9a_1_mwpm_03200403.jpg"},{"uniquekey":"da0a52bc92c10e81d16a4e728701cffc","title":"十年对比:通往汶川的唯一通道十年之变","date":"2018-05-12 06:50","category":"头条","author_name":"中国网","url":"http://mini.eastday.com/mobile/180512065018882.html","thumbnail_pic_s":"http://03.imgmini.eastday.com/mobile/20180512/20180512065018_01abef975bd32ccc728ac4e4e6a7ec6e_2_mwpm_03200403.jpg","thumbnail_pic_s02":"http://03.imgmini.eastday.com/mobile/20180512/20180512065018_9cfcb8c2869e997daf379bb7ce19180e_6_mwpm_03200403.jpg","thumbnail_pic_s03":"http://03.imgmini.eastday.com/mobile/20180512/20180512065018_0b79422343a8c1c37ec8121cd0c7a11c_5_mwpm_03200403.jpg"},{"uniquekey":"fa498034a3f9cd9fa2f5e0a2fbfd4da4","title":"全国第一!上海的马路边,应该容得下更多街头艺人","date":"2018-05-12 06:49","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512064903130.html","thumbnail_pic_s":"http://05.imgmini.eastday.com/mobile/20180512/20180512064903_6a2e203b71d2710aded08d300ab29eeb_1_mwpm_03200403.jpg"},{"uniquekey":"e1b21b938c2fc3a7345ca5bd93ab3d8e","title":"被吐槽演技差的宋茜这回动真格的,吴亦凡黄子韬们也跟上节奏了!","date":"2018-05-12 06:46","category":"头条","author_name":"网易越娱乐","url":"http://mini.eastday.com/mobile/180512064621690.html","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512064621_bab229c7b39e6fa7e59dd27703ddfb38_2_mwpm_03200403.jpg","thumbnail_pic_s02":"http://04.imgmini.eastday.com/mobile/20180512/20180512064621_bab229c7b39e6fa7e59dd27703ddfb38_3_mwpm_03200403.jpg","thumbnail_pic_s03":"http://04.imgmini.eastday.com/mobile/20180512/20180512064621_bab229c7b39e6fa7e59dd27703ddfb38_1_mwpm_03200403.jpg"},{"uniquekey":"526a4c110dedc726aa4e53afbcbea23d","title":"美国重新制裁伊朗 德国经济界担忧遭连累","date":"2018-05-12 06:38","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512063843828.html","thumbnail_pic_s":"http://09.imgmini.eastday.com/mobile/20180512/20180512063843_59894e298ee0432f1d141cb347f356c8_1_mwpm_03200403.jpg"},{"uniquekey":"e0a21ea66ac913345a3ddeef2de9acea","title":"马哈蒂尔宣布特赦前副总理安华 二十年前送其入狱","date":"2018-05-12 06:38","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512063843353.html","thumbnail_pic_s":"http://06.imgmini.eastday.com/mobile/20180512/20180512063843_b6081361df8e6cd58b6d52035cb3ee3a_1_mwpm_03200403.jpg"},{"uniquekey":"06c93effa61afee08c768604e97de4d2","title":"日本二手店惊现陈水扁竞选外套 台网友酸:穿上之后手都不会抖了","date":"2018-05-12 06:38","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512063843086.html","thumbnail_pic_s":"http://03.imgmini.eastday.com/mobile/20180512/20180512063843_a198728f6df54faf3ac82f9eff70a209_1_mwpm_03200403.jpg"},{"uniquekey":"ed31cf77aaf7073879898beaed6b172d","title":"10年过去了,他们还好吗","date":"2018-05-12 06:19","category":"头条","author_name":"人民网","url":"http://mini.eastday.com/mobile/180512061919917.html","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512061919_eae4ad26c428cc7f961a1d6cf6e4264e_2_mwpm_03200403.jpg","thumbnail_pic_s02":"http://04.imgmini.eastday.com/mobile/20180512/20180512061919_eae4ad26c428cc7f961a1d6cf6e4264e_7_mwpm_03200403.jpg","thumbnail_pic_s03":"http://04.imgmini.eastday.com/mobile/20180512/20180512061919_eae4ad26c428cc7f961a1d6cf6e4264e_4_mwpm_03200403.jpg"},{"uniquekey":"fa422c905b7767276acd999a9439b43c","title":"新闻早餐:打捞人员发现疑似杀空姐嫌犯尸体 将做DNA鉴定","date":"2018-05-12 06:15","category":"头条","author_name":"新闻早餐","url":"http://mini.eastday.com/mobile/180512061559294.html","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512_418566db5b32e600bc27d0bc8cb0a6a6_cover_mwpm_03200403.jpg","thumbnail_pic_s02":"http://02.imgmini.eastday.com/mobile/20180512/20180512_8d766fd5086f98ec8741ed44505ce35c_cover_mwpm_03200403.jpg","thumbnail_pic_s03":"http://02.imgmini.eastday.com/mobile/20180512/20180512_509df6c0c45109a6989bc86c663d02cd_cover_mwpm_03200403.jpg"},{"uniquekey":"92ee0d2a31867a8f215b0517d99a9409","title":"难忘救援经历 回忆激励前行 ","date":"2018-05-12 06:07","category":"头条","author_name":"大众网","url":"http://mini.eastday.com/mobile/180512060745166.html","thumbnail_pic_s":"http://07.imgmini.eastday.com/mobile/20180512/20180512060745_78550703b206b53ace6a0c51b1d737d4_1_mwpm_03200403.jpg"},{"uniquekey":"164f8861bd6628737684dcff49f376d2","title":"回望汶川(下)| 房子差不多修好了,那么人呢?","date":"2018-05-12 06:07","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512060707642.html","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512060707_4f667adcf6d62ec0b177add95ac037e9_1_mwpm_03200403.jpg"},{"uniquekey":"a8832fbcd574b6675c0cf3a0d37937bc","title":"竟为\u201c两岸一家亲\u201d向深绿道歉,谋求连任台北市长的柯文哲向蔡英文\u201c折腰认错\u201d","date":"2018-05-12 06:07","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512060707366.html","thumbnail_pic_s":"http://07.imgmini.eastday.com/mobile/20180512/20180512060707_72a977a668e79cc22e88db944b2871ce_1_mwpm_03200403.jpg"},{"uniquekey":"92f7d43683b6d8b300ecb8888148d70e","title":"【钩沉】\u201c摸着石头过河\u201d,是邓小平的原创吗","date":"2018-05-12 06:07","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512060706828.html","thumbnail_pic_s":"http://09.imgmini.eastday.com/mobile/20180512/20180512060706_82f81c098284dc2144d47776df34b478_1_mwpm_03200403.jpg"},{"uniquekey":"4ca3a79d5762fb1d130daeadfb1f7be9","title":"忠诚守护 老人被埋170小时 家中狗狗挣脱绳索陪伴不离","date":"2018-05-12 06:01","category":"头条","author_name":"中青在线","url":"http://mini.eastday.com/mobile/180512060138223.html","thumbnail_pic_s":"http://03.imgmini.eastday.com/mobile/20180512/20180512060138_731141065c8389f053e98fd09959e9b2_2_mwpm_03200403.jpg","thumbnail_pic_s02":"http://03.imgmini.eastday.com/mobile/20180512/20180512060138_731141065c8389f053e98fd09959e9b2_1_mwpm_03200403.jpg","thumbnail_pic_s03":"http://03.imgmini.eastday.com/mobile/20180512/20180512060138_731141065c8389f053e98fd09959e9b2_3_mwpm_03200403.jpg"},{"uniquekey":"e93a1d8243a9037b1da76adc7a793739","title":"西安再添世界500强企业 将为大西安人才发展战略提供新动能","date":"2018-05-12 05:37","category":"头条","author_name":"人民网","url":"http://mini.eastday.com/mobile/180512053736878.html","thumbnail_pic_s":"http://07.imgmini.eastday.com/mobile/20180512/20180512053736_8f66fb9da7fc1f943a0ce8e61a694391_3_mwpm_03200403.jpg","thumbnail_pic_s02":"http://07.imgmini.eastday.com/mobile/20180512/20180512053736_8f66fb9da7fc1f943a0ce8e61a694391_4_mwpm_03200403.jpg","thumbnail_pic_s03":"http://07.imgmini.eastday.com/mobile/20180512/20180512053736_8f66fb9da7fc1f943a0ce8e61a694391_1_mwpm_03200403.jpg"},{"uniquekey":"b006b13ae3d14707f881eb92fc914ecd","title":"高速车道突然飞来轮胎 司机握紧方向盘救了一车游客","date":"2018-05-12 05:36","category":"头条","author_name":"中国新闻网","url":"http://mini.eastday.com/mobile/180512053627582.html","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512053627_9945660161d740d7ed793166d7227a70_1_mwpm_03200403.jpg","thumbnail_pic_s02":"http://02.imgmini.eastday.com/mobile/20180512/20180512053627_9945660161d740d7ed793166d7227a70_2_mwpm_03200403.jpg"},{"uniquekey":"94eee6750d18b56e69e7f21639e3e5f1","title":"早读|上海将筹建\u201c中共一大纪念馆\u201d","date":"2018-05-12 05:36","category":"头条","author_name":"解放网","url":"http://mini.eastday.com/mobile/180512053610949.html","thumbnail_pic_s":"http://01.imgmini.eastday.com/mobile/20180512/20180512053610_4bc3792a8ae8dfa412a4da9f45478910_1_mwpm_03200403.jpg"},{"uniquekey":"fb1c5b67794834d0a6103a20b64854c0","title":"中国电子商务快速发展 给世界带来巨大商机","date":"2018-05-12 05:23","category":"头条","author_name":"西安晚报","url":"http://mini.eastday.com/mobile/180512052309026.html","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512052309_d81eabc5f596d49d94d73f8b3fbc6a8c_1_mwpm_03200403.jpg"},{"uniquekey":"4aa30f5d94850ca14205845bc5847c5a","title":"\u201c竹简\u201d寄情 感恩父母","date":"2018-05-12 05:15","category":"头条","author_name":"大众网","url":"http://mini.eastday.com/mobile/180512051537520.html","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512051537_1f79912ff681c7cc4a96a6f97f967479_1_mwpm_03200403.jpg"},{"uniquekey":"e491de85803b55c5412ad0fbb2346a87","title":"北京海运进出口货物七成走天津","date":"2018-05-12 05:07","category":"头条","author_name":"光明网","url":"http://mini.eastday.com/mobile/180512050734360.html","thumbnail_pic_s":"http://09.imgmini.eastday.com/mobile/20180512/20180512050734_de8eae16975f2ddf8223b7c549096c70_3_mwpm_03200403.jpg","thumbnail_pic_s02":"http://09.imgmini.eastday.com/mobile/20180512/20180512050734_de8eae16975f2ddf8223b7c549096c70_1_mwpm_03200403.jpg","thumbnail_pic_s03":"http://09.imgmini.eastday.com/mobile/20180512/20180512050734_de8eae16975f2ddf8223b7c549096c70_2_mwpm_03200403.jpg"},{"uniquekey":"2f2995abb898f94aeacecd6537013404","title":"生活中诱发痔疮的五个原因不可忽略, 痔疮的治疗方法","date":"2018-05-12 04:56","category":"头条","author_name":"凤凰网","url":"http://mini.eastday.com/mobile/180512045657878.html","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512045657_15014004f9669c5aee78579be692dd66_1_mwpm_03200403.jpg","thumbnail_pic_s02":"http://02.imgmini.eastday.com/mobile/20180512/20180512045657_15014004f9669c5aee78579be692dd66_2_mwpm_03200403.jpg"}]
     */

    private String msg;
    private int code;
    private List<DataBean> data;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {
        /**
         * uniquekey : 1326bf3c4505783d4a964f81b6220e9d
         * title : 美国被特朗普坑惨了!又有3个铁杆盟友公开唱对台戏!
         * date : 2018-05-12 07:25
         * category : 头条
         * author_name : 大国军情
         * url : http://mini.eastday.com/mobile/180512072544020.html
         * thumbnail_pic_s : http://04.imgmini.eastday.com/mobile/20180512/20180512_fe1bf1b6ec00098f9455c84dc81e6763_cover_mwpm_03200403.jpg
         * thumbnail_pic_s02 : http://04.imgmini.eastday.com/mobile/20180512/20180512_3f636fca330f2311583896aed3185196_cover_mwpm_03200403.jpg
         * thumbnail_pic_s03 : http://04.imgmini.eastday.com/mobile/20180512/20180512_793fab03dadcd417bf2d8e5e1e48a0f5_cover_mwpm_03200403.jpg
         */

        private String uniquekey;
        private String title;
        private String date;
        private String category;
        private String author_name;
        private String url;
        private String thumbnail_pic_s;
        private String thumbnail_pic_s02;
        private String thumbnail_pic_s03;

        public String getUniquekey() {
            return uniquekey;
        }

        public void setUniquekey(String uniquekey) {
            this.uniquekey = uniquekey;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getDate() {
            return date;
        }

        public void setDate(String date) {
            this.date = date;
        }

        public String getCategory() {
            return category;
        }

        public void setCategory(String category) {
            this.category = category;
        }

        public String getAuthor_name() {
            return author_name;
        }

        public void setAuthor_name(String author_name) {
            this.author_name = author_name;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public String getThumbnail_pic_s() {
            return thumbnail_pic_s;
        }

        public void setThumbnail_pic_s(String thumbnail_pic_s) {
            this.thumbnail_pic_s = thumbnail_pic_s;
        }

        public String getThumbnail_pic_s02() {
            return thumbnail_pic_s02;
        }

        public void setThumbnail_pic_s02(String thumbnail_pic_s02) {
            this.thumbnail_pic_s02 = thumbnail_pic_s02;
        }

        public String getThumbnail_pic_s03() {
            return thumbnail_pic_s03;
        }

        public void setThumbnail_pic_s03(String thumbnail_pic_s03) {
            this.thumbnail_pic_s03 = thumbnail_pic_s03;
        }
    }
}
 
 

DataBeans类

package com.example.administrator.myapplication08.View;

import com.google.gson.Gson;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.List;

/**
 * Created by MSI on 2018/5/28.
 */

public class DataBeans {

    /**
     * httpStatusCode : 200
     * code : 0
     * data : {"page":1,"perpage":20,"max_page":85,"total":1686,"data":[{"id":3541397,"title":"合肥新定位为全国智能家居研发生产中心 四大件产量连续多年居全国之首","link":"lsapp://cn.ahurls.news/news?id=3541397","pics":["appletrecommend/201805/5b08a30fa4712.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"","inner_news":1,"views":162,"comment_amount_label":"0","views_label":"162"},{"id":3541326,"title":"合肥此轮降雨过程将在5月26日结束 未来几日多云为主温度适宜","link":"lsapp://cn.ahurls.news/news?id=3541326","pics":["appletrecommend/201805/5b07c7396bc23.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2677,"comment_amount_label":"2","views_label":"2677"},{"id":3541361,"title":"调查:四川男子录抖音视频辱骂河南人后道歉 你怎么看?","link":"lsapp://cn.ahurls.news/news?id=3541361","pics":["appletrecommend/201805/5b08a3fb804d1.jpg"],"t":"url","type":"vote","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"投票","inner_news":1,"views":2421,"comment_amount_label":"0","views_label":"2421","pics_new":["appletrecommend/201805/5b08a3fb804d1.jpg"]},{"id":3541394,"title":"安徽岳西:子女住新房父母住危房被认定违法","link":"lsapp://cn.ahurls.news/news?id=3541394","pics":["appletrecommend/201805/5b08a3d8d1fc0.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":1,"source":"","type_sign":"","inner_news":1,"views":147,"comment_amount_label":"1","views_label":"147"},{"id":3541299,"title":"英勇!合肥登云庭小区小偷入室盗窃猥亵女业主 民警抱住小偷滚下楼梯","link":"lsapp://cn.ahurls.news/news?id=3541299","pics":["appletrecommend/201805/5b07ff30755de.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"","inner_news":1,"views":3766,"comment_amount_label":"4","views_label":"3766"},{"id":3541399,"title":"\u201c2017年世界500强\u201d中徽商占两席 王文银成为徽商企业家首富","link":"lsapp://cn.ahurls.news/news?id=3541399","pics":["appletrecommend/201805/5b08a60733c46.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"","inner_news":1,"views":73,"comment_amount_label":"0","views_label":"73"},{"id":3541302,"title":"5月25日24时安徽油价上调 92号汽油每升上调0.2元","link":"lsapp://cn.ahurls.news/news?id=3541302","pics":["appletrecommend/201805/5b07d930d0ebf.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":11,"source":"","type_sign":"","inner_news":1,"views":3373,"comment_amount_label":"11","views_label":"3373"},{"id":3540446,"title":"【专题】2018世界制造业大会合肥宣言正式发布 全球制造领域有了\u201c合肥声音\u201d","link":"lsapp://cn.ahurls.news/special?id=3540446","pics":["18/0525/5b074ce5c56d4.jpg"],"t":"url","type":"special","alias":"headline","pic_amount":0,"style":"single_fill","comment_amount":2,"source":"","type_sign":"专题","inner_news":1,"views":4582,"comment_amount_label":"2","views_label":"4582","pics_new":["18/0525/5b074ce5c56d4.jpg"]},{"id":3540693,"title":"调查:安徽班主任试喝牛奶确保安全 媒体:缺乏人性温度 你怎么看","link":"lsapp://cn.ahurls.news/news?id=3540693","pics":["appletrecommend/201805/5b073a72cbf8c.jpg"],"t":"url","type":"vote","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"投票","inner_news":1,"views":6024,"comment_amount_label":"4","views_label":"6024","pics_new":["appletrecommend/201805/5b073a72cbf8c.jpg"]},{"id":3541348,"title":"合肥蜀山区一菜市场厕所垃圾桶惊现一名死婴 警方介入调查","link":"lsapp://cn.ahurls.news/news?id=3541348","pics":["appletrecommend/201805/5b07fe759614b.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":3042,"comment_amount_label":"2","views_label":"3042"},{"id":3541039,"title":"这是一个令人振奋的消息! 合肥东部新中心来了","link":"lsapp://cn.ahurls.news/news?id=3541039","pics":["appletrecommend/201805/5b0783c941b0c.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":9,"source":"","type_sign":"","inner_news":1,"views":4000,"comment_amount_label":"9","views_label":"4000"},{"id":3541088,"title":"3岁女童因恶性肿瘤身亡 父母被指拿着捐款治疗儿子兔唇放弃女儿","link":"lsapp://cn.ahurls.news/image_news?id=3541088","pics":["special/tuku/201805/5b07a64e1a47655741.jpg","special/tuku/201805/5b07a64e2679386727.jpg","special/tuku/201805/5b07a64e0739a67091.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2870,"comment_amount_label":"2","views_label":"2870","pics_new":["special/tuku/201805/5b07a64e1a47655741.jpg"]},{"id":3540741,"title":"合肥教育局权威发布!中小学网上报名入学最新最全解答","link":"lsapp://cn.ahurls.news/news?id=3540741","pics":["appletrecommend/201805/5b07530ba7edb.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":5045,"comment_amount_label":"3","views_label":"5045"},{"id":3541009,"title":"合肥市公交换乘细则正式出炉 \u201c带人乘车刷卡\u201d不享受换乘优惠","link":"lsapp://cn.ahurls.news/news?id=3541009","pics":["appletrecommend/201805/5b07795a5df5c.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":5,"source":"","type_sign":"","inner_news":1,"views":4280,"comment_amount_label":"5","views_label":"4280"},{"id":3541029,"title":"今天凌晨合肥一辆白色轿车滑入天鹅湖 事发时车上或有人","link":"lsapp://cn.ahurls.news/news?id=3541029","pics":["appletrecommend/201805/5b077eba55a41.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":12,"source":"","type_sign":"","inner_news":1,"views":8157,"comment_amount_label":"12","views_label":"8157"},{"id":3541232,"title":"【专题】反转!王凤雅重病去世爷爷称善款剩千元 嫣然天使基金提供弟弟治兔唇钱","link":"lsapp://cn.ahurls.news/special?id=3541232","pics":["18/0525/5b07c6738acf1.jpg"],"t":"url","type":"special","alias":"headline","pic_amount":0,"style":"single_fill","comment_amount":1,"source":"","type_sign":"专题","inner_news":1,"views":2011,"comment_amount_label":"1","views_label":"2011","pics_new":["18/0525/5b07c6738acf1.jpg"]},{"id":3540737,"title":"站内何时能充值合肥通?合肥轨道公司回复市民热点问题","link":"lsapp://cn.ahurls.news/news?id=3540737","pics":["appletrecommend/201805/5b073e2513048.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"","inner_news":1,"views":4351,"comment_amount_label":"4","views_label":"4351"},{"id":3541162,"title":"活久见!男子不满女友登记时\u201c再考虑一下\u201d 一顿拳脚后两人又领证了","link":"lsapp://cn.ahurls.news/news?id=3541162","pics":["appletrecommend/201805/5b07b9a258016.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":7,"source":"","type_sign":"","inner_news":1,"views":3182,"comment_amount_label":"7","views_label":"3182"},{"id":3540754,"title":"今年合肥小学初中网上报名如何登记操作?这份\u201c入学指南\u201d请收好","link":"lsapp://cn.ahurls.news/news?id=3540754","pics":["appletrecommend/201805/5b07532313edd.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":6194,"comment_amount_label":"2","views_label":"6194"},{"id":3541169,"title":"合肥奔驰女不满物业规定 违停\u201c堵门\u201d辱骂殴打保安","link":"lsapp://cn.ahurls.news/image_news?id=3541169","pics":["special/tuku/201805/5b07ba822763455489.jpg","special/tuku/201805/5b07ba825c5e834613.jpg","special/tuku/201805/5b07ba8270df111019.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":6,"source":"","type_sign":"","inner_news":1,"views":1895,"comment_amount_label":"6","views_label":"1895","pics_new":["special/tuku/201805/5b07ba822763455489.jpg"]},{"id":3541308,"title":"流行性腮腺炎进入高发季 合肥疾控中心专家:幼儿需及时接种疫苗","link":"lsapp://cn.ahurls.news/news?id=3541308","pics":["appletrecommend/201805/5b0803117f3c6.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":1963,"comment_amount_label":"3","views_label":"1963"},{"id":3541301,"title":"女子周旋两个丈夫间5年未被发现 花钱雇老夫妻扮演自己父母","link":"lsapp://cn.ahurls.news/news?id=3541301","pics":["appletrecommend/201805/5b0802bce6c69.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":2222,"comment_amount_label":"3","views_label":"2222"},{"id":3541295,"title":"四川男子录抖音视频辱骂河南人后道歉:自己初中文化不了解地域黑","link":"lsapp://cn.ahurls.news/news?id=3541295","pics":["appletrecommend/201805/5b0801bbde00d.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2457,"comment_amount_label":"2","views_label":"2457"},{"id":3541226,"title":"【大碗视频】黑科技!直击2018世界制造业大会:应急情况加色拉油 直升机也能飞","link":"lsapp://cn.ahurls.news/news?id=3541226","pics":["appletrecommend/201805/5b08012ee91f3.jpg"],"t":"url","type":"video","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"视频","inner_news":1,"views":2539,"comment_amount_label":"2","views_label":"2539","pics_new":["appletrecommend/201805/5b08012ee91f3.jpg"]},{"id":3541213,"title":"清华北大公布2018保送生拟录取名单 合肥这两所学校学生上榜","link":"lsapp://cn.ahurls.news/news?id=3541213","pics":["appletrecommend/201805/5b07d21525ca6.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":3586,"comment_amount_label":"3","views_label":"3586"},{"id":3540757,"title":"捂脸!男子婚后压力大扮女装卖淫 嫖客得知真相当场吐了","link":"lsapp://cn.ahurls.news/news?id=3540757","pics":["appletrecommend/201805/5b0751ecf0eda.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":6107,"comment_amount_label":"3","views_label":"6107"},{"id":3541268,"title":"\u201c小猪佩奇\u201d文身贴安全吗? 部分商品无\u201c安全提示\u201d","link":"lsapp://cn.ahurls.news/news?id=3541268","pics":["appletrecommend/201805/5b07d45876402.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":1985,"comment_amount_label":"3","views_label":"1985"},{"id":3540922,"title":"64岁老汉猥亵小学女生:就为找点儿刺激","link":"lsapp://cn.ahurls.news/image_news?id=3540922","pics":["special/tuku/201805/5b076e1c36c8e31616.jpg","special/tuku/201805/5b076e1c5164d76430.jpg","special/tuku/201805/5b076e1c64ed337508.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":1986,"comment_amount_label":"2","views_label":"1986","pics_new":["special/tuku/201805/5b076e1c36c8e31616.jpg"]},{"id":3541223,"title":"四川惊现\u201c摔儿老师\u201d:抓小孩的手提起来转圈体罚","link":"lsapp://cn.ahurls.news/news?id=3541223","pics":["appletrecommend/201805/5b07cf20d38d0.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2047,"comment_amount_label":"2","views_label":"2047"},{"id":3541214,"title":"大爷替35岁女儿相亲要求有房是公务员:追求稳定的生活","link":"lsapp://cn.ahurls.news/news?id=3541214","pics":["appletrecommend/201805/5b07c4f720f6e.png"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":2206,"comment_amount_label":"3","views_label":"2206"}],"extras":{"slider":[{"id":3541393,"pic":"18/0526/5b08a55aa0724.jpg","link":"lsapp://cn.ahurls.news/news?id=3541393","t":"url","inner_news":1,"title":"来安徽旅游这5条精品路线不可错过","type":"nomal","type_sign":""},{"id":3540769,"pic":"18/0525/5b07c9c67edab.jpg","link":"lsapp://cn.ahurls.news/news?id=3540769","t":"url","inner_news":1,"title":"合肥构建未成人心理健康\u201c防护网\u201d","type":"nomal","type_sign":""},{"id":3540819,"pic":"18/0525/5b07aaec28743.jpg","link":"lsapp://cn.ahurls.news/news?id=3540819","t":"url","inner_news":1,"title":"数据告诉你\u201c合肥造\u201d到底有多强","type":"nomal","type_sign":""},{"id":3540806,"pic":"18/0525/5b076b21b1432.jpg","link":"lsapp://cn.ahurls.news/news?id=3540806","t":"url","inner_news":1,"title":"解码合肥工业经济跨越之路","type":"nomal","type_sign":""},{"id":3540583,"pic":"18/0524/5b06b8c92b95d.jpg","link":"lsapp://cn.ahurls.news/news?id=3540583","t":"url","inner_news":1,"title":"安徽一季度水质对赌结果出炉","type":"nomal","type_sign":""}]},"bindtips":""}
     */

    private int httpStatusCode;
    private int code;
    private DataBeanX data;

    public static DataBeans objectFromData(String str) {

        return new Gson().fromJson(str, DataBeans.class);
    }

    public static DataBeans objectFromData(String str, String key) {

        try {
            JSONObject jsonObject = new JSONObject(str);

            return new Gson().fromJson(jsonObject.getString(str), DataBeans.class);
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;
    }

    public int getHttpStatusCode() {
        return httpStatusCode;
    }

    public void setHttpStatusCode(int httpStatusCode) {
        this.httpStatusCode = httpStatusCode;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public DataBeanX getData() {
        return data;
    }

    public void setData(DataBeanX data) {
        this.data = data;
    }

    public static class DataBeanX {
        /**
         * page : 1
         * perpage : 20
         * max_page : 85
         * total : 1686
         * data : [{"id":3541397,"title":"合肥新定位为全国智能家居研发生产中心 四大件产量连续多年居全国之首","link":"lsapp://cn.ahurls.news/news?id=3541397","pics":["appletrecommend/201805/5b08a30fa4712.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"","inner_news":1,"views":162,"comment_amount_label":"0","views_label":"162"},{"id":3541326,"title":"合肥此轮降雨过程将在5月26日结束 未来几日多云为主温度适宜","link":"lsapp://cn.ahurls.news/news?id=3541326","pics":["appletrecommend/201805/5b07c7396bc23.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2677,"comment_amount_label":"2","views_label":"2677"},{"id":3541361,"title":"调查:四川男子录抖音视频辱骂河南人后道歉 你怎么看?","link":"lsapp://cn.ahurls.news/news?id=3541361","pics":["appletrecommend/201805/5b08a3fb804d1.jpg"],"t":"url","type":"vote","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"投票","inner_news":1,"views":2421,"comment_amount_label":"0","views_label":"2421","pics_new":["appletrecommend/201805/5b08a3fb804d1.jpg"]},{"id":3541394,"title":"安徽岳西:子女住新房父母住危房被认定违法","link":"lsapp://cn.ahurls.news/news?id=3541394","pics":["appletrecommend/201805/5b08a3d8d1fc0.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":1,"source":"","type_sign":"","inner_news":1,"views":147,"comment_amount_label":"1","views_label":"147"},{"id":3541299,"title":"英勇!合肥登云庭小区小偷入室盗窃猥亵女业主 民警抱住小偷滚下楼梯","link":"lsapp://cn.ahurls.news/news?id=3541299","pics":["appletrecommend/201805/5b07ff30755de.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"","inner_news":1,"views":3766,"comment_amount_label":"4","views_label":"3766"},{"id":3541399,"title":"\u201c2017年世界500强\u201d中徽商占两席 王文银成为徽商企业家首富","link":"lsapp://cn.ahurls.news/news?id=3541399","pics":["appletrecommend/201805/5b08a60733c46.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":0,"source":"","type_sign":"","inner_news":1,"views":73,"comment_amount_label":"0","views_label":"73"},{"id":3541302,"title":"5月25日24时安徽油价上调 92号汽油每升上调0.2元","link":"lsapp://cn.ahurls.news/news?id=3541302","pics":["appletrecommend/201805/5b07d930d0ebf.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":11,"source":"","type_sign":"","inner_news":1,"views":3373,"comment_amount_label":"11","views_label":"3373"},{"id":3540446,"title":"【专题】2018世界制造业大会合肥宣言正式发布 全球制造领域有了\u201c合肥声音\u201d","link":"lsapp://cn.ahurls.news/special?id=3540446","pics":["18/0525/5b074ce5c56d4.jpg"],"t":"url","type":"special","alias":"headline","pic_amount":0,"style":"single_fill","comment_amount":2,"source":"","type_sign":"专题","inner_news":1,"views":4582,"comment_amount_label":"2","views_label":"4582","pics_new":["18/0525/5b074ce5c56d4.jpg"]},{"id":3540693,"title":"调查:安徽班主任试喝牛奶确保安全 媒体:缺乏人性温度 你怎么看","link":"lsapp://cn.ahurls.news/news?id=3540693","pics":["appletrecommend/201805/5b073a72cbf8c.jpg"],"t":"url","type":"vote","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"投票","inner_news":1,"views":6024,"comment_amount_label":"4","views_label":"6024","pics_new":["appletrecommend/201805/5b073a72cbf8c.jpg"]},{"id":3541348,"title":"合肥蜀山区一菜市场厕所垃圾桶惊现一名死婴 警方介入调查","link":"lsapp://cn.ahurls.news/news?id=3541348","pics":["appletrecommend/201805/5b07fe759614b.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":3042,"comment_amount_label":"2","views_label":"3042"},{"id":3541039,"title":"这是一个令人振奋的消息! 合肥东部新中心来了","link":"lsapp://cn.ahurls.news/news?id=3541039","pics":["appletrecommend/201805/5b0783c941b0c.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":9,"source":"","type_sign":"","inner_news":1,"views":4000,"comment_amount_label":"9","views_label":"4000"},{"id":3541088,"title":"3岁女童因恶性肿瘤身亡 父母被指拿着捐款治疗儿子兔唇放弃女儿","link":"lsapp://cn.ahurls.news/image_news?id=3541088","pics":["special/tuku/201805/5b07a64e1a47655741.jpg","special/tuku/201805/5b07a64e2679386727.jpg","special/tuku/201805/5b07a64e0739a67091.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2870,"comment_amount_label":"2","views_label":"2870","pics_new":["special/tuku/201805/5b07a64e1a47655741.jpg"]},{"id":3540741,"title":"合肥教育局权威发布!中小学网上报名入学最新最全解答","link":"lsapp://cn.ahurls.news/news?id=3540741","pics":["appletrecommend/201805/5b07530ba7edb.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":5045,"comment_amount_label":"3","views_label":"5045"},{"id":3541009,"title":"合肥市公交换乘细则正式出炉 \u201c带人乘车刷卡\u201d不享受换乘优惠","link":"lsapp://cn.ahurls.news/news?id=3541009","pics":["appletrecommend/201805/5b07795a5df5c.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":5,"source":"","type_sign":"","inner_news":1,"views":4280,"comment_amount_label":"5","views_label":"4280"},{"id":3541029,"title":"今天凌晨合肥一辆白色轿车滑入天鹅湖 事发时车上或有人","link":"lsapp://cn.ahurls.news/news?id=3541029","pics":["appletrecommend/201805/5b077eba55a41.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":12,"source":"","type_sign":"","inner_news":1,"views":8157,"comment_amount_label":"12","views_label":"8157"},{"id":3541232,"title":"【专题】反转!王凤雅重病去世爷爷称善款剩千元 嫣然天使基金提供弟弟治兔唇钱","link":"lsapp://cn.ahurls.news/special?id=3541232","pics":["18/0525/5b07c6738acf1.jpg"],"t":"url","type":"special","alias":"headline","pic_amount":0,"style":"single_fill","comment_amount":1,"source":"","type_sign":"专题","inner_news":1,"views":2011,"comment_amount_label":"1","views_label":"2011","pics_new":["18/0525/5b07c6738acf1.jpg"]},{"id":3540737,"title":"站内何时能充值合肥通?合肥轨道公司回复市民热点问题","link":"lsapp://cn.ahurls.news/news?id=3540737","pics":["appletrecommend/201805/5b073e2513048.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":4,"source":"","type_sign":"","inner_news":1,"views":4351,"comment_amount_label":"4","views_label":"4351"},{"id":3541162,"title":"活久见!男子不满女友登记时\u201c再考虑一下\u201d 一顿拳脚后两人又领证了","link":"lsapp://cn.ahurls.news/news?id=3541162","pics":["appletrecommend/201805/5b07b9a258016.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":7,"source":"","type_sign":"","inner_news":1,"views":3182,"comment_amount_label":"7","views_label":"3182"},{"id":3540754,"title":"今年合肥小学初中网上报名如何登记操作?这份\u201c入学指南\u201d请收好","link":"lsapp://cn.ahurls.news/news?id=3540754","pics":["appletrecommend/201805/5b07532313edd.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":6194,"comment_amount_label":"2","views_label":"6194"},{"id":3541169,"title":"合肥奔驰女不满物业规定 违停\u201c堵门\u201d辱骂殴打保安","link":"lsapp://cn.ahurls.news/image_news?id=3541169","pics":["special/tuku/201805/5b07ba822763455489.jpg","special/tuku/201805/5b07ba825c5e834613.jpg","special/tuku/201805/5b07ba8270df111019.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":6,"source":"","type_sign":"","inner_news":1,"views":1895,"comment_amount_label":"6","views_label":"1895","pics_new":["special/tuku/201805/5b07ba822763455489.jpg"]},{"id":3541308,"title":"流行性腮腺炎进入高发季 合肥疾控中心专家:幼儿需及时接种疫苗","link":"lsapp://cn.ahurls.news/news?id=3541308","pics":["appletrecommend/201805/5b0803117f3c6.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":1963,"comment_amount_label":"3","views_label":"1963"},{"id":3541301,"title":"女子周旋两个丈夫间5年未被发现 花钱雇老夫妻扮演自己父母","link":"lsapp://cn.ahurls.news/news?id=3541301","pics":["appletrecommend/201805/5b0802bce6c69.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":2222,"comment_amount_label":"3","views_label":"2222"},{"id":3541295,"title":"四川男子录抖音视频辱骂河南人后道歉:自己初中文化不了解地域黑","link":"lsapp://cn.ahurls.news/news?id=3541295","pics":["appletrecommend/201805/5b0801bbde00d.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2457,"comment_amount_label":"2","views_label":"2457"},{"id":3541226,"title":"【大碗视频】黑科技!直击2018世界制造业大会:应急情况加色拉油 直升机也能飞","link":"lsapp://cn.ahurls.news/news?id=3541226","pics":["appletrecommend/201805/5b08012ee91f3.jpg"],"t":"url","type":"video","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"视频","inner_news":1,"views":2539,"comment_amount_label":"2","views_label":"2539","pics_new":["appletrecommend/201805/5b08012ee91f3.jpg"]},{"id":3541213,"title":"清华北大公布2018保送生拟录取名单 合肥这两所学校学生上榜","link":"lsapp://cn.ahurls.news/news?id=3541213","pics":["appletrecommend/201805/5b07d21525ca6.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":3586,"comment_amount_label":"3","views_label":"3586"},{"id":3540757,"title":"捂脸!男子婚后压力大扮女装卖淫 嫖客得知真相当场吐了","link":"lsapp://cn.ahurls.news/news?id=3540757","pics":["appletrecommend/201805/5b0751ecf0eda.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":6107,"comment_amount_label":"3","views_label":"6107"},{"id":3541268,"title":"\u201c小猪佩奇\u201d文身贴安全吗? 部分商品无\u201c安全提示\u201d","link":"lsapp://cn.ahurls.news/news?id=3541268","pics":["appletrecommend/201805/5b07d45876402.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":1985,"comment_amount_label":"3","views_label":"1985"},{"id":3540922,"title":"64岁老汉猥亵小学女生:就为找点儿刺激","link":"lsapp://cn.ahurls.news/image_news?id=3540922","pics":["special/tuku/201805/5b076e1c36c8e31616.jpg","special/tuku/201805/5b076e1c5164d76430.jpg","special/tuku/201805/5b076e1c64ed337508.jpg"],"t":"url","type":"images","alias":"headline","pic_amount":3,"style":"multi","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":1986,"comment_amount_label":"2","views_label":"1986","pics_new":["special/tuku/201805/5b076e1c36c8e31616.jpg"]},{"id":3541223,"title":"四川惊现\u201c摔儿老师\u201d:抓小孩的手提起来转圈体罚","link":"lsapp://cn.ahurls.news/news?id=3541223","pics":["appletrecommend/201805/5b07cf20d38d0.jpg"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":2,"source":"","type_sign":"","inner_news":1,"views":2047,"comment_amount_label":"2","views_label":"2047"},{"id":3541214,"title":"大爷替35岁女儿相亲要求有房是公务员:追求稳定的生活","link":"lsapp://cn.ahurls.news/news?id=3541214","pics":["appletrecommend/201805/5b07c4f720f6e.png"],"t":"url","type":"normal","alias":"headline","pic_amount":0,"style":"single_right","comment_amount":3,"source":"","type_sign":"","inner_news":1,"views":2206,"comment_amount_label":"3","views_label":"2206"}]
         * extras : {"slider":[{"id":3541393,"pic":"18/0526/5b08a55aa0724.jpg","link":"lsapp://cn.ahurls.news/news?id=3541393","t":"url","inner_news":1,"title":"来安徽旅游这5条精品路线不可错过","type":"nomal","type_sign":""},{"id":3540769,"pic":"18/0525/5b07c9c67edab.jpg","link":"lsapp://cn.ahurls.news/news?id=3540769","t":"url","inner_news":1,"title":"合肥构建未成人心理健康\u201c防护网\u201d","type":"nomal","type_sign":""},{"id":3540819,"pic":"18/0525/5b07aaec28743.jpg","link":"lsapp://cn.ahurls.news/news?id=3540819","t":"url","inner_news":1,"title":"数据告诉你\u201c合肥造\u201d到底有多强","type":"nomal","type_sign":""},{"id":3540806,"pic":"18/0525/5b076b21b1432.jpg","link":"lsapp://cn.ahurls.news/news?id=3540806","t":"url","inner_news":1,"title":"解码合肥工业经济跨越之路","type":"nomal","type_sign":""},{"id":3540583,"pic":"18/0524/5b06b8c92b95d.jpg","link":"lsapp://cn.ahurls.news/news?id=3540583","t":"url","inner_news":1,"title":"安徽一季度水质对赌结果出炉","type":"nomal","type_sign":""}]}
         * bindtips :
         */

        private int page;
        private int perpage;
        private int max_page;
        private int total;
        private ExtrasBean extras;
        private String bindtips;
        private List<DataBean> data;

        public static DataBeanX objectFromData(String str) {

            return new Gson().fromJson(str, DataBeanX.class);
        }

        public static DataBeanX objectFromData(String str, String key) {

            try {
                JSONObject jsonObject = new JSONObject(str);

                return new Gson().fromJson(jsonObject.getString(str), DataBeanX.class);
            } catch (JSONException e) {
                e.printStackTrace();
            }

            return null;
        }

        public int getPage() {
            return page;
        }

        public void setPage(int page) {
            this.page = page;
        }

        public int getPerpage() {
            return perpage;
        }

        public void setPerpage(int perpage) {
            this.perpage = perpage;
        }

        public int getMax_page() {
            return max_page;
        }

        public void setMax_page(int max_page) {
            this.max_page = max_page;
        }

        public int getTotal() {
            return total;
        }

        public void setTotal(int total) {
            this.total = total;
        }

        public ExtrasBean getExtras() {
            return extras;
        }

        public void setExtras(ExtrasBean extras) {
            this.extras = extras;
        }

        public String getBindtips() {
            return bindtips;
        }

        public void setBindtips(String bindtips) {
            this.bindtips = bindtips;
        }

        public List<DataBean> getData() {
            return data;
        }

        public void setData(List<DataBean> data) {
            this.data = data;
        }

        public static class ExtrasBean {
            private List<SliderBean> slider;

            public static ExtrasBean objectFromData(String str) {

                return new Gson().fromJson(str, ExtrasBean.class);
            }

            public static ExtrasBean objectFromData(String str, String key) {

                try {
                    JSONObject jsonObject = new JSONObject(str);

                    return new Gson().fromJson(jsonObject.getString(str), ExtrasBean.class);
                } catch (JSONException e) {
                    e.printStackTrace();
                }

                return null;
            }

            public List<SliderBean> getSlider() {
                return slider;
            }

            public void setSlider(List<SliderBean> slider) {
                this.slider = slider;
            }

            public static class SliderBean {
                /**
                 * id : 3541393
                 * pic : 18/0526/5b08a55aa0724.jpg
                 * link : lsapp://cn.ahurls.news/news?id=3541393
                 * t : url
                 * inner_news : 1
                 * title : 来安徽旅游这5条精品路线不可错过
                 * type : nomal
                 * type_sign :
                 */

                private int id;
                private String pic;
                private String link;
                private String t;
                private int inner_news;
                private String title;
                private String type;
                private String type_sign;

                public static SliderBean objectFromData(String str) {

                    return new Gson().fromJson(str, SliderBean.class);
                }

                public static SliderBean objectFromData(String str, String key) {

                    try {
                        JSONObject jsonObject = new JSONObject(str);

                        return new Gson().fromJson(jsonObject.getString(str), SliderBean.class);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                    return null;
                }

                public int getId() {
                    return id;
                }

                public void setId(int id) {
                    this.id = id;
                }

                public String getPic() {
                    return pic;
                }

                public void setPic(String pic) {
                    this.pic = pic;
                }

                public String getLink() {
                    return link;
                }

                public void setLink(String link) {
                    this.link = link;
                }

                public String getT() {
                    return t;
                }

                public void setT(String t) {
                    this.t = t;
                }

                public int getInner_news() {
                    return inner_news;
                }

                public void setInner_news(int inner_news) {
                    this.inner_news = inner_news;
                }

                public String getTitle() {
                    return title;
                }

                public void setTitle(String title) {
                    this.title = title;
                }

                public String getType() {
                    return type;
                }

                public void setType(String type) {
                    this.type = type;
                }

                public String getType_sign() {
                    return type_sign;
                }

                public void setType_sign(String type_sign) {
                    this.type_sign = type_sign;
                }
            }
        }

        public static class DataBean {
            /**
             * id : 3541397
             * title : 合肥新定位为全国智能家居研发生产中心 四大件产量连续多年居全国之首
             * link : lsapp://cn.ahurls.news/news?id=3541397
             * pics : ["appletrecommend/201805/5b08a30fa4712.jpg"]
             * t : url
             * type : normal
             * alias : headline
             * pic_amount : 0
             * style : single_right
             * comment_amount : 0
             * source :
             * type_sign :
             * inner_news : 1
             * views : 162
             * comment_amount_label : 0
             * views_label : 162
             * pics_new : ["appletrecommend/201805/5b08a3fb804d1.jpg"]
             */

            private int id;
            private String title;
            private String link;
            private String t;
            private String type;
            private String alias;
            private int pic_amount;
            private String style;
            private int comment_amount;
            private String source;
            private String type_sign;
            private int inner_news;
            private int views;
            private String comment_amount_label;
            private String views_label;
            private List<String> pics;
            private List<String> pics_new;

            public static DataBean objectFromData(String str) {

                return new Gson().fromJson(str, DataBean.class);
            }

            public static DataBean objectFromData(String str, String key) {

                try {
                    JSONObject jsonObject = new JSONObject(str);

                    return new Gson().fromJson(jsonObject.getString(str), DataBean.class);
                } catch (JSONException e) {
                    e.printStackTrace();
                }

                return null;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public String getTitle() {
                return title;
            }

            public void setTitle(String title) {
                this.title = title;
            }

            public String getLink() {
                return link;
            }

            public void setLink(String link) {
                this.link = link;
            }

            public String getT() {
                return t;
            }

            public void setT(String t) {
                this.t = t;
            }

            public String getType() {
                return type;
            }

            public void setType(String type) {
                this.type = type;
            }

            public String getAlias() {
                return alias;
            }

            public void setAlias(String alias) {
                this.alias = alias;
            }

            public int getPic_amount() {
                return pic_amount;
            }

            public void setPic_amount(int pic_amount) {
                this.pic_amount = pic_amount;
            }

            public String getStyle() {
                return style;
            }

            public void setStyle(String style) {
                this.style = style;
            }

            public int getComment_amount() {
                return comment_amount;
            }

            public void setComment_amount(int comment_amount) {
                this.comment_amount = comment_amount;
            }

            public String getSource() {
                return source;
            }

            public void setSource(String source) {
                this.source = source;
            }

            public String getType_sign() {
                return type_sign;
            }

            public void setType_sign(String type_sign) {
                this.type_sign = type_sign;
            }

            public int getInner_news() {
                return inner_news;
            }

            public void setInner_news(int inner_news) {
                this.inner_news = inner_news;
            }

            public int getViews() {
                return views;
            }

            public void setViews(int views) {
                this.views = views;
            }

            public String getComment_amount_label() {
                return comment_amount_label;
            }

            public void setComment_amount_label(String comment_amount_label) {
                this.comment_amount_label = comment_amount_label;
            }

            public String getViews_label() {
                return views_label;
            }

            public void setViews_label(String views_label) {
                this.views_label = views_label;
            }

            public List<String> getPics() {
                return pics;
            }

            public void setPics(List<String> pics) {
                this.pics = pics;
            }

            public List<String> getPics_new() {
                return pics_new;
            }

            public void setPics_new(List<String> pics_new) {
                this.pics_new = pics_new;
            }
        }
    }
}

接口Api

package com.example.administrator.myapplication08;

/**
 * Created by MSI on 2018/5/28.
 */

public interface Api {
    String DATA_URL = "http://365jia.cn/news/api3/365jia/news/headline";
}
 
 

接口DataView

package com.example.administrator.myapplication08;

import com.example.administrator.myapplication08.View.DataBeans;

import java.util.List;

/**
 * Created by MSI on 2018/5/28.
 */

public interface DataView {
    void showData(List<DataBeans.DataBeanX.DataBean> list);
}

 
 

接口OnNetListener

package com.example.administrator.myapplication08;

/**
 * Created by MSI on 2018/5/28.
 */

public interface OnNetListener {
    void OnSuccess(String result);

    void OnFilder(Exception e);
}

主页面

package com.example.administrator.myapplication08;

import android.animation.ObjectAnimator;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import com.example.administrator.myapplication08.Presenter.DataPresenterImp;
import com.example.administrator.myapplication08.View.DataBeans;

import java.util.List;

public class MainActivity extends AppCompatActivity implements DataView {
    //使用RecyClerView做列表展示页面
    private RecyclerView mRv;
    private DataPresenterImp dataPresenterImp;
    private MyRvAdapter myRvAdapter;
    private ImageView img;
    boolean isChanged = false;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mRv = findViewById(R.id.rv);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
        mRv.setLayoutManager(linearLayoutManager);

        dataPresenterImp = new DataPresenterImp(this);
        dataPresenterImp.showData("1");

        img = findViewById(R.id.img);
        initadd();
    }

    private void initadd() {

        // 点击右上角的心形按钮,使用属性动画将心形按钮从右上角位置移动到左下角位置,
        // 并且透明度渐变成完全透明,当动画执行完毕后,心形按钮变成选中状态
        img.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                // TODO Auto-generated method stub
                img.setImageDrawable(getResources().getDrawable(R.drawable.b));
                //图片平移出去还能弹回来
                //如果没有mimg.getTranslationX()则图片不会弹回来
                ObjectAnimator translationX = ObjectAnimator.ofFloat(img, "translationX",img.getTranslationX(), -600f,img.getTranslationX());
                ObjectAnimator translationY = ObjectAnimator.ofFloat(img, "translationY",img.getTranslationY(), 1100f,img.getTranslationY());
                //动画时间
                translationX.setDuration(3000);//时间
                 translationY.setDuration(3000);//时间
                //执行动画
                //渐变透明
                ObjectAnimator alpha = ObjectAnimator.ofFloat(img, "alpha", 0.0f, 1.0f);
                alpha.setDuration(3000);//时间


                if(view == img)
                {

                    if(isChanged){
                        Toast.makeText(MainActivity.this, "取消选中", Toast.LENGTH_LONG).show();
                    }else {
                        translationY.start();//开始执行
                        translationX.start();//开始执行
                        alpha.start();//开始执行
                        img.setImageDrawable(getResources().getDrawable(R.drawable.c));

                        Toast.makeText(MainActivity.this, "选中状态", Toast.LENGTH_LONG).show();

                    }
                    isChanged = !isChanged;

                }


            }
        });
    }

    @Override
    public void showData(List<DataBeans.DataBeanX.DataBean> list) {
        //适配器
        myRvAdapter = new MyRvAdapter(this, list);
        mRv.addItemDecoration(new SpacesItemDecoration(10));
        mRv.setAdapter(myRvAdapter);
        myRvAdapter.setOnItemClick(new MyRvAdapter.OnItemClick() {
            @Override
            public void onImageClick(View view) {
                ObjectAnimator alpha = ObjectAnimator.ofFloat(view, "alpha", new float[]{1f, 0.5f, 0.0f, 0.5f, 1.0f});
                alpha.setRepeatMode(ObjectAnimator.RESTART);
                alpha.setDuration(2000);
                alpha.setRepeatCount(0);
                alpha.start();
            }

            @Override
            public void onItemClick(int position) {
                //弹出框
                showAlertDialog(position);

            }
        });
    }

    private void showAlertDialog(final int position) {
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setTitle("提示:");
        builder.setMessage("是否删除?");
        builder.setIcon(R.mipmap.ic_launcher_round);
        //点击对话框以外的区域是否让对话框消失
        builder.setCancelable(false);
        //设置正面按钮
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                myRvAdapter.deleteItem(position);
                myRvAdapter.notifyDataSetChanged();
                dialog.dismiss();
            }
        });
        //设置反面按钮
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }
        });
        AlertDialog dialog = builder.create();
        dialog.show();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        dataPresenterImp.cloneView();
    }
}

适配器MyRvAdapter

package com.example.administrator.myapplication08;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.administrator.myapplication08.View.DataBeans;

import java.util.List;

/**
 * Created by MSI on 2018/5/28.
 */

public class MyRvAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private String imageSplice = "http://365jia.cn/uploads/";
    private Context context;
    private List<DataBeans.DataBeanX.DataBean> list;
    private LayoutInflater inflater;
    private final static int NORMAL = 1;
    private final static int IMAGES = 2;

    public MyRvAdapter(Context context, List<DataBeans.DataBeanX.DataBean> list) {
        this.context = context;
        this.list = list;
        inflater = LayoutInflater.from(context);
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        RecyclerView.ViewHolder holder;
        if(viewType == NORMAL){
            View view = inflater.inflate(R.layout.normal_item,parent,false);
            holder = new NormalViewHolder(view);
        }else if(viewType == IMAGES){
            View view = inflater.inflate(R.layout.images_item,parent,false);
            holder = new ImagesViewHolder(view);
        }else{
            holder = null;
        }
        return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
        int itemViewType = getItemViewType(position);
        DataBeans.DataBeanX.DataBean dataBean = list.get(position);
        if(itemViewType == NORMAL){
            NormalViewHolder normalViewHolder = (NormalViewHolder) holder;
            normalViewHolder.normal_title.setText(dataBean.getTitle());
            Glide.with(context).load(imageSplice+dataBean.getPics().get(0)).into(normalViewHolder.normal_img);
            normalViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(mOnItemClick != null){
                        mOnItemClick.onItemClick(position);
                    }
                }
            });
        }else if(itemViewType == IMAGES){
            ImagesViewHolder imagesViewHolder = (ImagesViewHolder) holder;
            imagesViewHolder.images_title.setText(dataBean.getTitle());
            Glide.with(context).load(imageSplice+dataBean.getPics().get(0)).into(imagesViewHolder.images01);
            Glide.with(context).load(imageSplice+dataBean.getPics().get(1)).into(imagesViewHolder.images02);
            Glide.with(context).load(imageSplice+dataBean.getPics().get(2)).into(imagesViewHolder.images03);
            imagesViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(mOnItemClick != null){
                        mOnItemClick.onItemClick(position);
                    }
                }
            });
        }


    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    @Override
    public int getItemViewType(int position) {
        String type = list.get(position).getType();
        if("images".equals(type)){
            return IMAGES;
        }else{
            return NORMAL;
        }
    }

    class NormalViewHolder extends RecyclerView.ViewHolder {
        private final TextView normal_title;
        private final ImageView normal_img;

        public NormalViewHolder(final View itemView) {
            super(itemView);
            normal_title = itemView.findViewById(R.id.normal_title);
            normal_img = itemView.findViewById(R.id.normal_img);
            normal_img.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(mOnItemClick != null){
                        mOnItemClick.onImageClick(v);
                    }
                }
            });
        }
    }

    class ImagesViewHolder extends RecyclerView.ViewHolder{
        private final ImageView images01;
        private final ImageView images02;
        private final ImageView images03;
        private final TextView images_title;
        public ImagesViewHolder(View itemView) {
            super(itemView);
            images01 = itemView.findViewById(R.id.images01);
            images02 = itemView.findViewById(R.id.images02);
            images03 = itemView.findViewById(R.id.images03);
            images_title = itemView.findViewById(R.id.images_title);
            images01.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(mOnItemClick != null){
                        mOnItemClick.onImageClick(v);
                    }
                }
            });
            images02.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(mOnItemClick != null){
                        mOnItemClick.onImageClick(v);
                    }
                }
            });
            images03.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(mOnItemClick != null){
                        mOnItemClick.onImageClick(v);
                    }
                }
            });
        }
    }
    //定义接口
    interface OnItemClick{
        void onImageClick(View view);
        void onItemClick(int position);
    }
    //定义接口对象
    private OnItemClick mOnItemClick;
    //外部调用方法
    public void setOnItemClick( OnItemClick onItemClick){
        this.mOnItemClick = onItemClick;
    }

    //删除
    public void deleteItem(int poistion){
        list.remove(poistion);
    }
}

SpacesItemDecoration类

package com.example.administrator.myapplication08;

import android.graphics.Rect;
import android.support.v7.widget.RecyclerView;
import android.view.View;

/**
 * Created by MSI on 2018/5/28.
 */

public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
    private int space;

    public SpacesItemDecoration(int space) {
        this.space = space;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view,
                               RecyclerView parent, RecyclerView.State state) {
        outRect.left = space;
        outRect.right = space;
        outRect.bottom = space;

        // Add top margin only for the first item to avoid double space between items
        if (parent.getChildPosition(view) == 0)
            outRect.top = space;
    }
}
 
 

主页面布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="300dp"
        android:layout_height="50dp"
        android:id="@+id/linearLayout">

        <ImageView
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="31dp"
            android:layout_marginStart="31dp"
            android:src="@drawable/a" />

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_gravity="center"
            android:text="今  日  头  条"
            android:textSize="30dp" />
    </RelativeLayout>

    <ImageView
        android:id="@+id/img"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginTop="5dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginEnd="17dp"
        android:layout_marginRight="17dp"
        android:src="@drawable/b" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/linearLayout"></android.support.v7.widget.RecyclerView>

</RelativeLayout>
 
 

图片布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/images_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="10dp"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/images01"
            android:layout_width="0dp"
            android:layout_height="100dp"
            android:layout_weight="1"
            android:src="@mipmap/ic_launcher" />

        <ImageView
            android:id="@+id/images02"
            android:layout_width="0dp"
            android:layout_height="100dp"
            android:layout_weight="1"
            android:src="@mipmap/ic_launcher" />

        <ImageView
            android:id="@+id/images03"
            android:layout_width="0dp"
            android:layout_height="100dp"
            android:layout_weight="1"
            android:src="@mipmap/ic_launcher" />
    </LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:gravity="center"
        android:text="1256评论 120赞" />
</LinearLayout>
 
 

第二个布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:orientation="horizontal">
    <ImageView
        android:id="@+id/normal_img"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1" />
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="3"
        android:orientation="vertical">

        <TextView
            android:id="@+id/normal_title"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_gravity="right"
            android:layout_weight="1"
            android:gravity="center"
            android:text="1256评论 120赞" />
    </LinearLayout>


</LinearLayout>

清单文件中要添加网络权限

依赖

//okhttp依赖
implementation 'com.squareup.okhttp3:okhttp:3.6.0'
implementation 'com.squareup.okio:okio:1.11.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0'
implementation 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
implementation 'com.youth.banner:banner:1.4.10'
//recycleview依赖
implementation 'com.android.support:recyclerview-v7:26.1.0'
implementation files('libs/universal-image-loader-1.9.5.jar')
implementation files('libs/gson-2.8.0.jar')













猜你喜欢

转载自blog.csdn.net/yin_chenglong/article/details/80563943