临时文件7.15

package com.jinanchang.jinxueyuan.activity;

import androidx.appcompat.app.AppCompatActivity;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;

import com.jinanchang.jinxueyuan.R;
import com.jinanchang.jinxueyuan.adapter.BaiWenAdapter;
import com.jinanchang.jinxueyuan.adapter.KHCAdapter;
import com.jinanchang.jinxueyuan.adapter.TypeAdaper;
import com.jinanchang.jinxueyuan.base.BaseActivityWithNet;
import com.jinanchang.jinxueyuan.base.Player;
import com.jinanchang.jinxueyuan.constant.Constant;
import com.jinanchang.jinxueyuan.entity.BaiWen;
import com.jinanchang.jinxueyuan.entity.BaiWenType;
import com.jinanchang.jinxueyuan.entity.KHCEntity;
import com.jinanchang.jinxueyuan.net.NetForJson;
import com.jinanchang.jinxueyuan.net.NetForJsonMethod;
import com.jinanchang.jinxueyuan.util.MyUtils;
import com.jinanchang.jinxueyuan.util.NetworkHelper;
import com.jinanchang.jinxueyuan.view.mylistview.LoadMoreListView;
import com.jinanchang.jinxueyuan.view.mylistview.RefreshAndLoadMoreView;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class BaiWenActivity extends BaseActivityWithNet<BaiWen> {
    private RefreshAndLoadMoreView mRefreshAndLoadMoreActivityBaiWen;
    private LoadMoreListView mLoadMoreListActivityBaiWen;
    private int fromindex = 0;//开始查询的位置
    private int tempIndex;//临时查询位置
    private boolean isMore = false;//是否是加载更多操作
    private int temp = 0;//每次获取的条数
    private List<BaiWen.ResultDataBean> tempList =  new ArrayList<>();//客户信息实体类集合;
    private boolean isLoad = false;//是否已经加载过了
    int typeid = 0;

    private BaiWenAdapter mAdapter;
    @Override
    protected void initLocalDatas() {
        mRefreshAndLoadMoreActivityBaiWen.setLoadMoreListView(mLoadMoreListActivityBaiWen);
        mLoadMoreListActivityBaiWen.setRefreshAndLoadMoreView(mRefreshAndLoadMoreActivityBaiWen);
        //设置下拉刷新监听
        mRefreshAndLoadMoreActivityBaiWen.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                tempIndex = 0;
                fromindex = 0;
                initNetDatas();
            }
        });
        //设置加载监听
        mLoadMoreListActivityBaiWen.setOnLoadMoreListener(new LoadMoreListView.OnLoadMoreListener() {
            @Override
            public void onLoadMore() {
                fromindex = tempIndex;
                isMore = true;
                initNetDatas();
            }
        });

    }

    @Override
    protected void initNetDatas() {
//        IntentFilter myIntentFilter = new IntentFilter();
//        mActivitySelf.registerReceiver(mBroadcastReceiver, myIntentFilter);
        try {
            if (!NetworkHelper.isNetworkConnected(mActivitySelf)) {
                MyUtils.HTTPErrorLog(mActivitySelf,"无法连接网络,请您检查后重试");
                return;
            }
            isLoad = true;
            if (!isMore) {
                mRefreshAndLoadMoreActivityBaiWen.setRefreshing(true);
            }
            mNetForJson = new NetForJson(NetForJsonMethod.POST,getUrl(), mNetOverListener);
            mNetForJson.setmClassEntity(BaiWen.class);
            Intent intent = getIntent();
            int typeid = intent.getIntExtra("typeid",0);
            SharedPreferences sharedPre= getSharedPreferences("login", MODE_PRIVATE);
            int userid = sharedPre.getInt("uid",0);
            mNetForJson.addHeader("userid", String.valueOf(userid));
            addParams("typeid", typeid);
            addParams("fromindex", fromindex);
            exetuceNet();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    protected String getUrl() {
        return Constant.BaiWen_List;
    }

    @Override
    protected void onSuccess(BaiWen entity) {
        try {

            if ("1".equals(entity.getResult())) {
                temp = entity.getResultData().size();
                tempIndex += temp;
                //如果不是加载更多则清空集合重新赋值
                if (!isMore) {
                    tempList.clear();
                }
                for (int i = 0; i < entity.getResultData().size(); i++) {
                    tempList.add(entity.getResultData().get(i));
                }
                if (mAdapter == null) {
                    mAdapter=new BaiWenAdapter(tempList,mActivitySelf,1,-1);
                    mLoadMoreListActivityBaiWen.setAdapter(mAdapter);
                } else {
                    mAdapter.notifyDataSetChanged();
                }
                //根据是否还有数据显示加载Fooder.xml的显示结果
                mLoadMoreListActivityBaiWen.post(new Runnable() {
                    public void run() {
                        int firstVisiblePosition = mLoadMoreListActivityBaiWen.getFirstVisiblePosition();
                        int lastVisiblePosition = mLoadMoreListActivityBaiWen.getLastVisiblePosition();
                        if (temp < lastVisiblePosition - firstVisiblePosition + 1) {
                            mLoadMoreListActivityBaiWen.setHaveMoreData(false);
                        } else {
                            mLoadMoreListActivityBaiWen.setHaveMoreData(true);
                        }
                    }
                });
                //当加载完成之后设置此时不在刷新状态
                mRefreshAndLoadMoreActivityBaiWen.setRefreshing(false);
                mLoadMoreListActivityBaiWen.onLoadComplete();
                //如果不是加载更多则回到第一个Item的位置
                if (!isMore) {
                    mLoadMoreListActivityBaiWen.setSelection(mLoadMoreListActivityBaiWen.getTop());
                }
                isMore = false;

            } else {

                MyUtils.HTTPErrorLog(mActivitySelf, entity.getErrorMsg());
            }
        } catch (Exception e) {
            MyUtils.HTTPErrorLog(mActivitySelf, e.toString());
            e.printStackTrace();
        }
    }

    @Override
    protected void onError(Throwable e) {

    }

    @Override
    protected int setRootView() {
        return R.layout.activity_bai_wen;
    }
    @Override
    protected void initViews() {
        mRefreshAndLoadMoreActivityBaiWen = (RefreshAndLoadMoreView) findViewById(R.id.refresh_and_load_more_activity_baiwen);
        mLoadMoreListActivityBaiWen = (LoadMoreListView) findViewById(R.id.load_more_list_activity_baiwen);
    }

    @Override
    protected void initListener() {
        setViewImgTitleLeft(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
        Intent intent = getIntent();
        String title = intent.getStringExtra("title");
        setViewTitleCenter(title,null);

        mLoadMoreListActivityBaiWen.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (MyUtils.isFastClick()){
                    BaiWen.ResultDataBean bean = tempList.get(position);
                    Intent intent = new Intent(mActivitySelf, BaiWenDetialActivity.class);
                    //传递实体
                    Bundle bundle = new Bundle();
                    bundle.putSerializable("baiwen", bean);
                    intent.putExtras(bundle);
                    int typeid = getIntent().getIntExtra("typeid",0);
                    intent.putExtra("typeid",typeid);
                    intent.putExtra("position",position);
                    intent.putExtra("page",1);
                    startActivity(intent);
                }
            }
        });
    }

    public void registerBoradcastReceiver(){
        IntentFilter myIntentFilter = new IntentFilter();
        myIntentFilter.addAction("BaiWenDetialActivity1");
        //注册广播
        mActivitySelf.registerReceiver(mBroadcastReceiver, myIntentFilter);
    }
    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (action.equals("BaiWenDetialActivity1")) {
                int position = intent.getIntExtra("position",-1);
                int progress = intent.getIntExtra("progress",0);
                BaiWen.ResultDataBean info =  tempList.get(position);
                String strProgress = progress+"%";
                if (progress == 100 || progress == 99)
                {
                    strProgress = "已学完";
                }
                if (progress == 1 || progress == 0)
                {
                    strProgress = "";
                }
                info.setProgress(strProgress);
                tempList.set(position,info);
                mAdapter.notifyDataSetChanged();
            }
        }
    };

}
package com.jinanchang.jinxueyuan.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.jinanchang.jinxueyuan.R;
import com.jinanchang.jinxueyuan.base.BaseActivity;
import com.jinanchang.jinxueyuan.entity.BaiWen;
import com.jinanchang.jinxueyuan.entity.BaiWenType;

import java.util.List;

public class BaiWenAdapter extends BaseAdapter {
    private Context mContext;
    private List<BaiWen.ResultDataBean> mList;
    private LayoutInflater mInflater;
    private  int mistype = 0;
    private  int mposition = -1;
    public BaiWenAdapter(List<BaiWen.ResultDataBean> tempList,Context context,int istype,int position) {
        mList = tempList;
        mContext = context;
        mInflater= LayoutInflater.from(context);
        mistype = istype;
        mposition = position;
    }
    @Override
    public int getCount() {
        return mList.size();
    }
    @Override
    public Object getItem(int position) {
        return  mList.get(position);
    }
    @Override
    public long getItemId(int position) {
        return position;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        if (convertView==null) {
            viewHolder=new ViewHolder();
            convertView=mInflater.inflate(R.layout.item_baiwen,parent,false);
            viewHolder.mBaiWenTitle = (TextView) convertView.findViewById(R.id.item_tv_baiwen_title);
            viewHolder.mBaiWenTime =  (TextView) convertView.findViewById(R.id.item_tv_baiwen_time);
            viewHolder.mBaiWenProgress =  (TextView) convertView.findViewById(R.id.item_tv_baiwen_progress);
            viewHolder.mBaiWenFirst =  (TextView) convertView.findViewById(R.id.item_tv_baiwen_first);
            viewHolder.mBaiWenScound =  (TextView) convertView.findViewById(R.id.item_tv_baiwen_scound);
            convertView.setTag(viewHolder);
        }else {
            viewHolder= (ViewHolder) convertView.getTag();
        }
        BaiWen.ResultDataBean entity = mList.get(position);
        if (mistype == 1)
        {
            viewHolder.mBaiWenFirst.setVisibility(View.GONE);
            viewHolder.mBaiWenScound.setVisibility(View.GONE);
        }
        else
        {
            viewHolder.mBaiWenFirst.setText(entity.getFirstname());
            viewHolder.mBaiWenScound.setText(entity.getScoundname());
        }
        viewHolder.mBaiWenTitle.setText(entity.getTitle().trim());
        viewHolder.mBaiWenTime.setText(entity.getCreatetime());
        if (position == mposition)
        {
            viewHolder.mBaiWenProgress.setText("正在播放");
            viewHolder.mBaiWenProgress.setTextColor(viewHolder.mBaiWenProgress.getResources().getColor(R.color.yibohui));
        }
        else
        {
            viewHolder.mBaiWenProgress.setTextColor(viewHolder.mBaiWenProgress.getResources().getColor(R.color.baiwen_learn));
            if (entity.getProgress() == null || entity.getProgress() == "")
            {
                viewHolder.mBaiWenProgress.setText("未学");
            }
            else
            {
                viewHolder.mBaiWenProgress.setText(entity.getProgress());
            }
        }
        return convertView;
    }
    class ViewHolder{
        private TextView mBaiWenTitle;
        private TextView mBaiWenTime;
        private TextView mBaiWenProgress;

        private TextView mBaiWenFirst;
        private TextView mBaiWenScound;

    }
}
package com.jinanchang.jinxueyuan.entity;
import java.io.Serializable;
import java.util.List;
public class BaiWen {

    /**
     * result : 1
     * errorCode : null
     * errorMsg : 成功
     * resultData : [{"id":151,"firstname":"区域解读","scoundname":"区域概况","title":"\t当前郑州楼市动荡期买房怎么选区域?\t","content":"\t\"9月份以来,郑州楼市降价声此起彼伏,个别区域个别项目甚至达到了40%以上,但是有三个区域的房价依旧坚挺,并且略有上涨,第一个就是北龙湖,以正商五境为代表,上涨10%,第二个是滨河新区,房价一直坚挺,并且上车门槛上涨500-1000左右,第三个是中原老城区,以万科山河道、昆仑望岳,恒大云玺,康桥玖玺园为代表,房价直逼两万左右,个别项目还一房难求。\r\n这三个区域房价坚挺,一共有两类原因,第一是北龙湖和滨河代表着郑州的发展方向,且产品具有一定的稀缺性,别墅及洋房为主,普遍限高,改善品质好。\r\n中原老城区则是中优城市战略的持续推进,老城区焕发了新春,再加上完善的生活配套,保值能力强。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":145,"firstname":"区域解读","scoundname":"区域概况","title":"\t郑州区域是如何划分的?\t","content":"\t\"1.郑州主要是依托于交通干线及沿线的城镇,构建一主一城三区四组团的城镇布局结构。\r\n2.一主指的是主城区,即金水区、郑东新区、经开区、管城区、二七区、中原区、高新区、惠济区。\r\n3.一城指的是航空城及航空港。\r\n4.三区指的是东部新城区,西部新城区和南部新城区。\r\n5.四组团指的是新郑、新密、登封、巩义四个外围组团。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":141,"firstname":"区域解读","scoundname":"区域概况","title":"\t郑州有哪些地方是不限购的呢?\t","content":"\t目前郑州的非限购区只有4个,分别是:上街区、登封市、新密市和巩义市。 \t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":137,"firstname":"区域解读","scoundname":"区域概况","title":"\t郑东新区区目前的市场行情和房价走势怎么样?\t","content":"\t\"1、CBD和高铁片区基本无新房在售,二手房均价在25000+,高铁东广场在建公寓产品,均价12000左右;\r\n2、龙子湖片区住宅用地较少,目前仅剩蓝宝的三个楼盘在售,均价16500-18000左右,且后续没有住宅用地;\r\n3、北龙湖是郑州房地产市场的天花板,均价40000起,最高13万/平;\r\n4、白沙象湖因为定位高端,虽然有小幅下跌,但也算坚挺,高层均价13000-16000,洋房18000-20000左右;\r\n整体来看,郑东新区凭借其城市定位和多年的发展,再加上稀缺的土地供应,在未来几年乃至更长的一段时间,房价依然会稳步上升。\r\n但同时也应看到,随着滨河国际新城、常西湖新区、双湖科技城等一批优质新区的建设落地,郑东新区在高端城市核心定位方面也会受到不小影响,虽然趋势仍旧以上涨为主,但大幅度的增长和升值,显然已经不太可能。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":135,"firstname":"区域解读","scoundname":"区域概况","title":"\t惠济区的环境怎么样?\t","content":"\t惠济区是郑州传统的四大低密度板块之一,具有距省会城市最近的自然山体\u2014\u2014邙山,临黄河,有黄河湿地公园、黄河文化公园、索须河沿河湿地,中原影视城等知名景点,山、水、城、林交相辉映;全区600万株树木、6.4万亩有林面积,构成了\u201c人在林中走、车在绿中行\u201d的天然大森林、 大氧吧和省会的\u201c绿肺\u201d,环境宜人。\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":134,"firstname":"区域解读","scoundname":"区域概况","title":"\t惠济区目前的市场行情和房价走势怎么样?\t","content":"\t\"1、生态宜居是惠济区的住宅基调,具体到房型上,多以三房、四房为主,主要目标人群以地缘性客户及改善类客户为主。\r\n2、整体而言,价格在1.2万~1.5万,价格有着明显的方位差异,靠近金水、东区的楼盘价格相对较贵。\r\n3、惠济区今年的房价整体来看稳中有升,较为坚挺。6月份均价环比增长0.73%,高于郑州整体房价涨幅。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":132,"firstname":"区域解读","scoundname":"区域概况","title":"\t二七区目前的市场行情和房价走势怎么样?\t","content":"\t\"1、从价格上看:目前新房集中在南三环南四环之间;三环内新房楼盘分布均匀,均价在1.45万左右;三环外沿主干道分布,均价1.3万左右;\r\n2、从类型上看:三环内多住宅楼盘,三环至四环之间沿主干道分布部分公寓项目,客户主要以地缘性刚需客户和投资客户为主。\r\n房价走势:二七区房价从去年11月份均价13192元/平方米到今年6月份均价13497元/平方米,价格呈现一路小幅度上涨趋势,涨幅为0.11%,今年3月份至今房价趋于平稳。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":125,"firstname":"区域解读","scoundname":"区域概况","title":"\t经开区目前的市场行情和房价走势怎么样?\t","content":"\t\"1、老城区区域成熟,开发度高,房价整体处于高位,无明显上下浮动\r\n2、新房价格方面,整体上均价在19000~20000。保利天汇价格在19000-20000之间,华润置地凯旋门在19500左右。\r\n3、去化方面,两个项目的开盘去化均在60%左右,还是比较受市场欢迎的\r\n4、滨河价格起步较高,去年到今年整体变化不大,整体价格在15000~25000,个别楼盘二期有减配降价,比如金辉和电建。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":120,"firstname":"区域解读","scoundname":"区域概况","title":"\t金水区目前的市场行情和房价走势怎么样?\t","content":"\t\"1、金水区4月份成交1667套,5月份成交了1785套,6月份成交了1742套。近三月成交相对稳定。\r\n2、金水区5月成交均价为16815元/平方米,对比去年11月成交均价16463元/平方米来说,近半年价格方面也比较稳定。\r\n整体市场行情和房价走势都比较稳定,即使有疫情的影响,但在未来一段时间内,金水区的房价应该会维持在一个稳中略涨的状态,但幅度不会太大。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":117,"firstname":"区域解读","scoundname":"区域概况","title":"\t中原区目前的市场行情和房价走势怎么样?\t","content":"\t\"1、目前中原区的市场比较平稳,均价基本处于1.4-1.5万之间;\r\n2、西三环内老城区房源较少,价格在1.7万-1.9万左右,分别是康桥玖玺园、万科山河道;\r\n3、目前中原区的在售房源都集中于常西湖新区(西三环、西四环之间),作为未来市政府的所在地,对进驻的开发商门槛有着较高标准,因此区域内都为品质楼盘,价格在1万5左右,作为对标郑东CBD的郑西发展核心区域,未来的升值潜力不可限量,对于投资考虑的客户群体而言,是一个值得考虑的区域。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":116,"firstname":"区域解读","scoundname":"区域概况","title":"\t高新区有学区房吗?教学质量怎么样?\t","content":"\t\"1、高新区是围绕高产高教的来发展的,对现在来说,学区房是保值项。高新区的学区房性价比很高,教育资源很优质,枫杨外国语,郑州一中,省实验等学校在区域内分布,百分之90的人还是比较注重孩子的教育的。那么目前区域内比较好的学区房是:东原阅城,福晟谦祥钱隆城。\r\n2、其中东原阅城是高新区排名第一学区房,项目主打社区运营,童乐童享的亲子教育,在去年就确定跟河南省省实验是有签约的,教育资源和师资力量都是有保障的。明年就开始招生了。价格较低在13000左右。\r\n3、其次是福晟谦祥钱隆城,位于高新老城区的门户位置,楼下就是高新区万达,预计今年9月份开业,周边就是华师大的小学和中学,从商业和学区学区都是顶尖的,整个地块是挨着科学大道,无论做公共交通还是自驾都是很方便的。价格在13700左右。\r\n4.两个学区房都很优质,最终还要根据您的需求,选择更合适的房子。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":113,"firstname":"区域解读","scoundname":"区域概况","title":"\t高新区目前的市场行情和房价走势怎么样?\t","content":"\t\"高新区目前整体以刚需客户为主,因此无论是成交量还是房价都比较稳定,疫情并没有引起高新区房价大的波动,据6月份的成交量来看,高新区成交量高达2438套,排名全市前三。\r\n1、高新老城区在售楼盘居多,刚需/刚改为主,均价在15000左右。\r\n2、高新新城区目前在售楼盘较少,由于配套的欠缺,大部分均价都在12000左右。随着后期规划的落地,房价也会随之走高。\r\n整体来看,高新区主要以产业园为主,高新技术人才聚集带来的人口红利,势必会带来高新区新一轮的房价的上涨。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":109,"firstname":"区域解读","scoundname":"区域概况","title":"\t郑州现在哪个区比较适合刚需?\t","content":"\t\"刚需自住为首要条件,重点要性价比高,配套全、临地铁、有学校。\r\n从整个区域来看,郑东新区作为全市房价的天花板,北部区域做为老城中心区,价格固定且偏高,因此从刚需来考虑,西部的高新区与南部的管城区都是比较适合刚需群体的区域。\r\n\r\n1、高新区位于郑州西北部,高新产业聚集,以IT和审计行业,所以对客群划分比较明显。西三环、西四环、绕城高速、科学大道三纵一横,地铁一号线贯通东西,通勤方便;此外区内有省内唯一211院校--郑大,郑州外国语,枫扬外国语等优质学校,教育资源实力雄厚。\r\n2、管城区北临金水、西临二七、东连郑东、南面龙湖、港区,得天独厚地理位置,齐全的交通方式让通勤十分便捷;由于发展起步较晚,目前作为价值洼地性价比高;对刚需群体而言有着极强的吸引力,所谓\u201c郑州刚需看管南\u201d\r\n\r\n3、除了上述两大推荐区域外,如果标准放宽,东部的白沙片区,西部的中原新区,高新新城;西南部的二七新区,北边的惠济区北部区域也都是值得一看的刚需选择。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":108,"firstname":"区域解读","scoundname":"区域概况","title":"\t郑州现在哪个区比较适合改善?\t","content":"\t\"对于改善人群而言,更加看中配套和生活环境的品质,根据目前郑州的发展情况,以下几个区域都是不错的选择:\r\n1、东部:白沙、绿博作为未来省政府所在地,受政策的影响,在绿化及基础设施建设方面都可以说是顶尖配备;杨金片区离北龙湖一路之隔,能够分享北龙湖的改善配套,也是不错的选择;\r\n2、西部:常西湖新区不仅是未来市政府驻地,同样也是郑州未来的CCD(中央文化区),高端居住定位,文娱商业氛围浓厚,同样也是改善的理想选择。\r\n3、南部:滨河国际新城区域内绿化达到56%,1400亩超大水域;而且是政府主导,央企操刀,先规划,后建设,是郑州除北龙湖外的唯一纯改善区域;品质房企入驻,住宅的居住体验有品质保障;但不少规划落地尚需时日;\r\n4、北部:惠济区作为郑州后花圈,生态宜居一直以来都是该区域的核心竞争力所在,临黄河,靠邙山,环境质量位居郑州之首,但在生活配套及交通方面有所欠缺。\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"},{"id":107,"firstname":"区域解读","scoundname":"区域概况","title":"\t郑州哪个区的发展潜力最大?\t","content":"\t\"无论哪个去的发展,都要从属与郑州的整体发展态势,我先给您分析一下目前郑州的一个大致情况\r\n\r\n1、疫情进入收尾阶段,整体市场在逐步回暖\r\n2、疫情导致大学生回流 80~90万的人口流入 刚需基数广大\r\n3、郑州的房地产市场贡献了30%的GDP,与政府政绩绑定紧密\r\n4、郑东房价已趋近高位,最佳的投资购置时机已经过了\r\n\r\n综合分析之后,我推荐你重点关注以下两个区域\r\n常西湖新区:\r\n1、作为未来市政府驻地,政治主导经济,前景不言而喻的\r\n2、疏导老城区压力,承接老城区人口及功能,平衡东西发展\r\n3、四大中心:奥体中心、文博艺术中心、市民活动中心、现代传媒中心,新地标\r\n4、定位高端:常西湖新区作为CCD(中央文化区),提供的是代表未来城市发展的高端生态科技居住理念,随着城市发展的步伐,其价值也随之提升。\r\n5、品牌开发商云集,区域价值肯定,房产升值基石保障\r\n5、升值潜力:2015年至今,年房价增长率11.6~16.2% (均价从7000左右涨至12500左右) \r\n\r\n滨河新区价值点:\r\n1、唯一的 \u201c国际化\u201d新区:郑州9个新区,只有滨河是国际新城;\r\n2、核心腹地:连接CBD和航空港区的枢纽,兼得二者发展红利,是经开区的核心发展板块,潜力巨大\r\n3、中原自贸区龙头:郑欧班列、国际陆港,国家级跨境电商服务试点\r\n4、政策主导:郑州除北龙湖之外,唯一一个由政府同意规划建设的纯改善区域,;\r\n5、河南首个海绵城市、智慧城市;城市基础建设及设计理念领先老区一个时代;\r\n6、升值潜力:楼面地价从2015年1000元每平飙升至目前10000+;房价由7000元冲破25000元大关\r\n现在看滨河、常西湖就像十多年前看郑东,如果曾经错过了郑东,今天不应该错过滨河、常西湖。\r\n注意:疫情导致200余家开发商难以为继,小开发倒闭破产比比皆是,在关注发展潜力的同时,一定要注意选择大开发商\"\t","luyinurl":null,"progress":null,"createtime":"2021/1/20 15:23:13"}]
     */

    private String result;
    private Object errorCode;
    private String errorMsg;
    private List<ResultDataBean> resultData;

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public Object getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(Object errorCode) {
        this.errorCode = errorCode;
    }

    public String getErrorMsg() {
        return errorMsg;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public List<ResultDataBean> getResultData() {
        return resultData;
    }

    public void setResultData(List<ResultDataBean> resultData) {
        this.resultData = resultData;
    }

    public static class ResultDataBean implements Serializable {
        /**
         * id : 151
         * firstname : 区域解读
         * scoundname : 区域概况
         * title : 	当前郑州楼市动荡期买房怎么选区域?
         * content : 	"9月份以来,郑州楼市降价声此起彼伏,个别区域个别项目甚至达到了40%以上,但是有三个区域的房价依旧坚挺,并且略有上涨,第一个就是北龙湖,以正商五境为代表,上涨10%,第二个是滨河新区,房价一直坚挺,并且上车门槛上涨500-1000左右,第三个是中原老城区,以万科山河道、昆仑望岳,恒大云玺,康桥玖玺园为代表,房价直逼两万左右,个别项目还一房难求。
         这三个区域房价坚挺,一共有两类原因,第一是北龙湖和滨河代表着郑州的发展方向,且产品具有一定的稀缺性,别墅及洋房为主,普遍限高,改善品质好。
         中原老城区则是中优城市战略的持续推进,老城区焕发了新春,再加上完善的生活配套,保值能力强。"
         * luyinurl : null
         * progress : null
         * createtime : 2021/1/20 15:23:13
         */

        private int id;
        private String firstname;
        private String scoundname;
        private String title;
        private String content;
        private String luyinurl;
        private String progress;
        private String createtime;

        public int getId() {
            return id;
        }

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

        public String getFirstname() {
            return firstname;
        }

        public void setFirstname(String firstname) {
            this.firstname = firstname;
        }

        public String getScoundname() {
            return scoundname;
        }

        public void setScoundname(String scoundname) {
            this.scoundname = scoundname;
        }

        public String getTitle() {
            return title;
        }

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

        public String getContent() {
            return content;
        }

        public void setContent(String content) {
            this.content = content;
        }

        public String getLuyinurl() {
            return luyinurl;
        }

        public void setLuyinurl(String luyinurl) {
            this.luyinurl = luyinurl;
        }

        public String getProgress() {
            return progress;
        }

        public void setProgress(String progress) {
            this.progress = progress;
        }

        public String getCreatetime() {
            return createtime;
        }

        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }
    }
}
package com.jinanchang.jinxueyuan.view.mylistview;

/**
 * Created by Administrator on 2018/3/13.
 */

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AbsListView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.jinanchang.jinxueyuan.R;
import com.jinanchang.jinxueyuan.activity.BaiWenActivity;


/**
 * 项目名称:SwipeRefreshLayoutDome
 * 类描述:配合RefreshAndLoadMoreView 完成下拉刷新、滑到底部自动加载更多
 * 创建人:xiaolijuan
 * 创建时间:2015/12/12 9:02
 */
public class LoadMoreListView extends ListView implements AbsListView.OnScrollListener {
    private final int footViewHeight;
    private View rooterView;
    private boolean isHaveMoreData = true;// 是否有更多数据(默认为有)
    private ProgressBar progressBar;
    private TextView tipContext;
    private RefreshAndLoadMoreView mRefreshAndLoadMoreView;
    private boolean isLoading = false;// 是否正在加载
    private OnLoadMoreListener mOnLoadMoreListener;
    private LinearLayout llBg;


    public LoadMoreListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        //动态载入底部布局
        rooterView = LayoutInflater.from(context).inflate(
                R.layout.pull_to_load_footer, null);
        progressBar = (ProgressBar) rooterView.findViewById(R.id.footer_progressbar);
        tipContext = (TextView) rooterView.findViewById(R.id.footer_hint_textview);
        llBg = (LinearLayout) rooterView.findViewById(R.id.ll_bg);
        //向listView的底部添加布局(此时当给listView设置Item点击事件的时候,默认不触发这个添加的布局的点击事件)
        //测量footview的高度
        rooterView.measure(0,0);
        //拿到高度
        footViewHeight=rooterView.getMeasuredHeight();
        //隐藏view
        rooterView.setPadding(0,-footViewHeight,0,0);

        addFooterView(rooterView, null, false);
        setOnScrollListener(this);
    }

    public void gongRooterView(){
        //隐藏view
        rooterView.setPadding(0,-footViewHeight,0,0);
    }

    public void setRefreshAndLoadMoreView(RefreshAndLoadMoreView mRefreshAndLoadMoreView) {
        this.mRefreshAndLoadMoreView = mRefreshAndLoadMoreView;
    }

    /**
     * 设置是否还有更多数据
     *
     * @param isHaveMoreData
     */
    public void setHaveMoreData(boolean isHaveMoreData) {
        this.isHaveMoreData = isHaveMoreData;
        if (!isHaveMoreData) {
            rooterView.setPadding(0,0,0,0);
            tipContext.setText("对不起,没有更多数据了...");
            progressBar.setVisibility(View.GONE);
        } else if (getLastVisiblePosition() == getCount() - 1){
            rooterView.setPadding(0,0,0,0);
            tipContext.setText("对不起,没有更多数据了...");
            progressBar.setVisibility(View.GONE);
        }else {
            tipContext.setText("正在加载");
            progressBar.setVisibility(View.VISIBLE);
        }
    }

    /**
     * 加载完成
     */
    public void onLoadComplete() {
        isLoading = false;
    }

    public boolean isLoading() {
        return isLoading;
    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
        if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
            if (view.getLastVisiblePosition() == view.getCount() - 1 && (mRefreshAndLoadMoreView != null &&
                    !mRefreshAndLoadMoreView.isRefreshing()) && !isLoading && mOnLoadMoreListener != null && isHaveMoreData) {
                isLoading = true;
                rooterView.setPadding(0,0,0,0);
                mOnLoadMoreListener.onLoadMore();
            }
        }
    }
    public void setFooterViewBackgroundColor(int color){
        if (llBg!=null){
            llBg.setBackgroundColor(color);
        }
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

    }

    /**
     * 加载更多的监听
     */
    public static interface OnLoadMoreListener {
        public void onLoadMore();
    }

    /**
     * 设置加载监听
     *
     * @param mOnLoadMoreListener
     */
    public void setOnLoadMoreListener(OnLoadMoreListener mOnLoadMoreListener) {
        this.mOnLoadMoreListener = mOnLoadMoreListener;
    }
}
package com.jinanchang.jinxueyuan.view.mylistview;

/**
 * Created by Administrator on 2018/3/13.
 */

import android.content.Context;
import android.content.res.Resources;

import android.util.AttributeSet;
import android.view.MotionEvent;

import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;

import com.jinanchang.jinxueyuan.R;


/**
 * 项目名称:SwipeRefreshLayoutDome
 * 类描述:配合LoadMoreListView 完成下拉刷新、滑到底部自动加载更多
 * 创建人:xiaolijuan
 * 创建时间:2015/12/12 9:00
 */
public class RefreshAndLoadMoreView extends SwipeRefreshLayout {
    private LoadMoreListView mLoadMoreListView;
    /**
     * 构造方法,用于在布局文件中用到这个自定义SwipeRefreshLayout控件
     * @param context
     * @param attrs
     *
     */
    public RefreshAndLoadMoreView(Context context, AttributeSet attrs) {
        super(context, attrs);
        Resources res = getResources();
        //通过颜色资源文件设置进度动画的颜色资源
//        setColorSchemeColors(res.getColor(R.color.refresh_color_1),
//                res.getColor(R.color.refresh_color_2),
//                res.getColor(R.color.refresh_color_3),
//                res.getColor(R.color.refresh_color_4));
    }
    public void setLoadMoreListView(LoadMoreListView mLoadMoreListView) {
        this.mLoadMoreListView = mLoadMoreListView;
    }

    /**
     * 触屏事件,如果ListView不为空且数据还在加载中,则继续加载直至完成加载才触摸此事件
     * @param ev
     * @return
     */
    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        if (mLoadMoreListView != null && mLoadMoreListView.isLoading()) {
            return false;
        }

        return super.onTouchEvent(ev);
    }

    private int mDownX = 0;
    private int mDownY = 0;


    //重写onInterceptTouchEvent方法对事件进行拦截
    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        super.onInterceptTouchEvent(ev);
        boolean intercepted = false;
        switch (ev.getAction()) {
            case MotionEvent.ACTION_DOWN:
                intercepted = false;
                //记录下点击的位置
                mDownX = (int) ev.getX();
                mDownY = (int) ev.getY();

//                if (mAdapter != null){
//                    if (mAdapter.mLastMenu != null && mAdapter.mLastMenu.isOpen()) {
//                        mAdapter.mLastMenu.closeMenu();
//                    }
//                }
                break;
            case MotionEvent.ACTION_MOVE:
                int currX = (int) ev.getX();
                int currY = (int) ev.getY();
                int dx = currX - mDownX;
                int dy = currY - mDownY;
                //拦截条件:
                //1.下拉
                //2.垂直距离差大于水平距离差
                if (dy > 0 && (dy > Math.abs(dx))) {
                    //此时还要根据父类的处理结果来决定事件拦不拦截
                    //因为当ListView已经往下滑动过后,不应该对事件进行拦截,否则ListView不能往上滑动
                    intercepted = super.onInterceptTouchEvent(ev);
//                    this.setEnabled(true);
                } else {
                    intercepted = false;
                    this.setEnabled(true);
                }
                break;
            case MotionEvent.ACTION_UP:
                intercepted = false;
                this.setEnabled(true);
                break;
            default:
                break;
        }
        return intercepted;
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值