Xlist

public classMainActivityextendsAppCompatActivityimplementsXListView.IXListViewListener {

privateBannerbanner;

privateListlist;

privateListimagelist;

privateXListViewxListView;

private intpage=1;

privateListbeanList;

privateMyAdaptermyAdapter;

privateHandlerhandler=newHandler() {

@Override

public voidhandleMessage(Message msg) {

String s = msg.obj.toString();

Gson gson =newGson();

Pic pic = gson.fromJson(s,Pic.class);

List been = pic.getData();

imagelist=newArrayList<>();

for(Pic.DataBean bean : been) {

imagelist.add(bean.getImgSrc());

}

banner.setImages(imagelist);

banner.start();

}

};

privateHandlerxhandle=newHandler() {

@Override

public voidhandleMessage(Message msg) {

String s = msg.obj.toString();

Gson gson =newGson();

News news = gson.fromJson(s,News.class);

beanList.addAll(news.getData().getArticleList());

myAdapter.notifyDataSetChanged();

stopXlist();

}

private voidstopXlist() {

xListView.stopLoadMore();

xListView.stopRefresh();

xListView.setRefreshTime("刚刚");

}

};

@Override

protected voidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

add();

loadDate();

banner.setOnBannerListener(newOnBannerListener() {

@Override

public voidOnBannerClick(intposition) {

Intent intent =newIntent(MainActivity.this,Main2Activity.class);

intent.putExtra("image",imagelist.get(position %imagelist.size()));

intent.cloneFilter();

startActivity(intent);

}

});

newThread() {

@Override

public voidrun() {

String urlConnect = Net.getUrlConnect("http://zkread.com/htnewsroom/articles/tops");

Message message = Message.obtain();

message.obj= urlConnect;

handler.sendMessage(message);

}

}.start();

}

private voidloadDate() {

newThread() {

@Override

public voidrun() {

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 voidadd() {

xListView= (XListView) findViewById(R.id.xlist);

beanList=newArrayList<>();

list=newArrayList<>();

xListView.setPullLoadEnable(true);

xListView.setXListViewListener(this);

myAdapter=newMyAdapter();

xListView.setAdapter(myAdapter);

banner= (Banner) findViewById(R.id.ban);

banner.setImageLoader(newImagemap(this));

banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);

banner.setIndicatorGravity(BannerConfig.RIGHT);

}

@Override

public voidonRefresh() {

page++;

beanList.clear();

loadDate();

}

@Override

public voidonLoadMore() {

page++;

loadDate();

}

classMyAdapterextendsBaseAdapter {

final intTYPE1=0;

final intTYPE2=1;

@Override

public intgetCount() {

returnbeanList.size();

}

@Override

publicObjectgetItem(inti) {

returnbeanList.get(i);

}

@Override

public longgetItemId(inti) {

returni;

}

@Override

public intgetItemViewType(intposition) {

returnbeanList.get(position).getImgSrc().startsWith("http") ?TYPE1:TYPE2;

}

@Override

public intgetViewTypeCount() {

return2;

}

@Override

publicViewgetView(inti,View view,ViewGroup viewGroup) {

inttype = getItemViewType(i);

ViewHolder holder;

if(view ==null) {

holder =newViewHolder();

switch(type) {

caseTYPE1:

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;

caseTYPE2:

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) {

caseTYPE1:

Glide.with(MainActivity.this).load(beanList.get(i).getImgSrc()).into(holder.imageView);

break;

caseTYPE2:

holder.textView2.setText(beanList.get(i).getDescription());

holder.textView3.setText(longData(bean.getCreateTime()));

break;

}

returnview;

}

}

classViewHolder {

TextViewtextView,textView2,textView3;

ImageViewimageView;

}

publicStringlongData(longtime) {

Date date=newDate(time);

SimpleDateFormat dateFormat =newSimpleDateFormat("HH:mm");

returndateFormat.format(date);

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容