public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { private Banner banner; private List<Pic.DataBean> list; private List<String> imagelist; private XListView xListView; private int page = 1; private List<News.DataBean.ArticleListBean> beanList; private MyAdapter myAdapter; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { String s = msg.obj.toString(); Gson gson = new Gson(); Pic pic = gson.fromJson(s, Pic.class); List<Pic.DataBean> been = pic.getData(); imagelist = new ArrayList<>(); for (Pic.DataBean bean : been) { imagelist.add(bean.getImgSrc()); } banner.setImages(imagelist); banner.start(); } }; private Handler xhandle = new Handler() { @Override public void handleMessage(Message msg) { String s = msg.obj.toString(); Gson gson = new Gson(); News news = gson.fromJson(s, News.class); beanList.addAll(news.getData().getArticleList()); myAdapter.notifyDataSetChanged(); stopXlist(); } private void stopXlist() { xListView.stopLoadMore(); xListView.stopRefresh(); xListView.setRefreshTime("刚刚"); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); add(); loadDate(); banner.setOnBannerListener(new OnBannerListener() { @Override public void OnBannerClick(int position) { Intent intent = new Intent(MainActivity.this, Main2Activity.class); intent.putExtra("image", imagelist.get(position % imagelist.size())); intent.cloneFilter(); startActivity(intent); } }); new Thread() { @Override public void run() { String urlConnect = Net.getUrlConnect("http://zkread.com/htnewsroom/articles/tops"); Message message = Message.obtain(); message.obj = urlConnect; handler.sendMessage(message); } }.start(); } private void loadDate() { new Thread() { @Override public void run() { String urlConnect = Net.getUrlConnect("http://zkread.com/htnewsroom/v2.0/mobileapp/user-0/categories/articles?itemType=recommendation&itemName=推荐&itemId=-1&size=20&firstId=1339380&page=" + page); Message message = Message.obtain(); message.obj = urlConnect; xhandle.sendMessage(message); } }.start(); } private void add() { xListView = (XListView) findViewById(R.id.xlist); beanList = new ArrayList<>(); list = new ArrayList<>(); xListView.setPullLoadEnable(true); xListView.setXListViewListener(this); myAdapter = new MyAdapter(); xListView.setAdapter(myAdapter); banner = (Banner) findViewById(R.id.ban); banner.setImageLoader(new Imagemap(this)); banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR); banner.setIndicatorGravity(BannerConfig.RIGHT); } @Override public void onRefresh() { page++; beanList.clear(); loadDate(); } @Override public void onLoadMore() { page++; loadDate(); } class MyAdapter extends BaseAdapter { final int TYPE1 = 0; final int TYPE2 = 1; @Override public int getCount() { return beanList.size(); } @Override public Object getItem(int i) { return beanList.get(i); } @Override public long getItemId(int i) { return i; } @Override public int getItemViewType(int position) { return beanList.get(position).getImgSrc().startsWith("http") ? TYPE1 : TYPE2; } @Override public int getViewTypeCount() { return 2; } @Override public View getView(int i, View view, ViewGroup viewGroup) { int type = getItemViewType(i); ViewHolder holder; if (view == null) { holder = new ViewHolder(); switch (type) { case TYPE1: view = View.inflate(MainActivity.this, R.layout.item, null); holder.textView = (TextView) view.findViewById(R.id.t1); holder.imageView = (ImageView) view.findViewById(R.id.i1); break; case TYPE2: view = View.inflate(MainActivity.this, R.layout.item2, null); holder.textView = (TextView) view.findViewById(R.id.t1); holder.textView2 = (TextView) view.findViewById(R.id.t2); holder.textView3 = (TextView) view.findViewById(R.id.t3); break; } view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } News.DataBean.ArticleListBean bean=beanList.get(i); holder.textView.setText(beanList.get(i).getTitle()); switch (type) { case TYPE1: Glide.with(MainActivity.this).load(beanList.get(i).getImgSrc()).into(holder.imageView); break; case TYPE2: holder.textView2.setText(beanList.get(i).getDescription()); holder.textView3.setText(longData(bean.getCreateTime())); break; } return view; } } class ViewHolder { TextView textView, textView2, textView3; ImageView imageView; } public String longData(long time) { Date date=new Date(time); SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm"); return dateFormat.format(date); } }
Xlistview多条目展示
最新推荐文章于 2019-02-22 10:19:32 发布