新闻详情页其实是个ViewPager,明白了么?
提供点伪代码给你看看
class News {
int id; // 新闻标识
String summary; // 概述
String imageUrl; // 图片资源链接
}
class NewsDetail {
int id; // 新闻标识
String summary; // 概述
String detail; // 详细
}
我们的ListView对应的Adapter里面引用的数据源就是
ArrayList<News>列表。
可以把这个列表缓存在Application里做一个全局变量。
然后你点击进入一个新闻详情
OnItemClickListener(new ...() {
void onItemClick() {
Intent i = new Intent(context, NewsDetailActivity.class);
i.putExtra("id", id);
startActivity(i);
}
});
NewsDetailActivity是简单的新闻详情页面
里面主要的控件是ViewPager,他的数据源是根据之前的NewsList而来的。
ArrayList<NewsDetail> detailList = new ArrayList<NewsDetail>();
onCreate 方法里面最后通过一个异步方式去获取新闻的详情,然后显示出来。
class NewsDetailTask extends AsyncTask<String, Void, Void> {
onBackground() {
// 缓存里面获取新闻详情或者
// http get/post("...");获取新闻详情
// 显示出来
}
}
设置OnPageChangeListener,在onPageChanged方法里面去调整当前页面展示的新闻详情
class MyOnPageChangeListener implements OnPageChangeListener {
void onPageSelected(int position) {
int id = ((XXApplication) getApplication()).getNewsList().get(position).getId();
new NewsDetailTask("" + id);
}
}
就可以了。