首页 > 代码库 > 无限循环的ListView
无限循环的ListView
其实并非是无限循环只是看起来是而已。
首先设置adapter继承BaseAdapter。结构如下:
/**
* 此类描述的是:无限循环的listview
*
* @author: wxj
* @version: 2014年7月24日 上午10:40:28
*/
public class CarNumberAdapter extends BaseAdapter {
private Context context;
private String[] stringArray;
/**
* 创建一个新的实例 CarNumberAdapter.
*
* @param mainActivity
* @param stringArray
*/
public CarNumberAdapter(Context context, String[] stringArray) {
this.context = context;
this.stringArray = stringArray;
}
@Override
public int getCount() {
//为了实现无限循环的listvew,将长度设置为int型的最大值
return Integer.MAX_VALUE;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View viewRoot = View.inflate(context, R.layout.tex, null);
TextView textView = (TextView) viewRoot.findViewById(R.id.text);
textView.setText(stringArray[position%stringArray.length]); //设置每个条目对应数据时使用 position与数据长度取余的值 对应的数据
return viewRoot;
} 在设置adapter后,设置显示的首个条目的position为Interger.MAX_VALUE/2+1, 这样上下都可以滑动
lv1 = (ListView) numberPopView.findViewById(R.id.iv1);
lv1.setAdapter(adapter);
lv1.setSelection(Integer.MAX_VALUE/2+9);
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。