首页 > 开发 > Android > 正文

Android中怎么滑动切换listview中的item

2017-09-08 15:24:44  来源:网友分享

我已经在listview中通过SimpleAdapter绑定了不同数据
我想知道像那种新闻客户端一样在listview中点击某一个新闻的标题后进入查看新闻详情
在这个对应的一条新闻详情中继续查看下一条新闻的详情时,可以通过左右滑动实现不同新闻的切换,这种效果是怎样实现的啊?

解决方案

新闻详情页其实是个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);    }}

就可以了。