欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android编程实现ListView内容无限循环显示的方法

程序员文章站 2023-11-13 17:22:46
本文实例讲述了android编程实现listview内容无限循环显示的方法。分享给大家供大家参考,具体如下: 其实要达到无限循环显示,主要就是实现继承adapter的类。...

本文实例讲述了android编程实现listview内容无限循环显示的方法。分享给大家供大家参考,具体如下:

其实要达到无限循环显示,主要就是实现继承adapter的类。

我这里用到的是baseadapter

private class myadapter extends baseadapter{
    private context context;
    private string[] strs = null;
    layoutinflater inflater = null;
    public myadapter(context context){
      this.context = context;
      //listview中循环显示的数据
      strs = new string[]{"0","1","2","3","4","5","6","7","8","9"};
      inflater = layoutinflater.from(context);
    }
    public myadapter(){
    }
    @override
    public int getcount() {
      // todo auto-generated method stub
      //返回int可以保存的最大值,此值为2147483647
      return integer.max_value;
    }
    @override
    public object getitem(int position) {
      // todo auto-generated method stub
      return position;
    }
    @override
    public long getitemid(int position) {
      // todo auto-generated method stub
      return position;
    }
    @override
    public view getview(int position, view view, viewgroup parent) {
      // todo auto-generated method stub
      viewholder holder = null;
      if(view == null){
        holder = new viewholder();
        view = inflater.inflate(r.layout.textview, null);
        holder.text = (textview) view.findviewbyid(r.id.text);
        view.settag(holder);
      }else{
        holder = (viewholder) view.gettag();
      }
      //strs[position%strs.length]实现listview中数据的循环
      holder.text.settext(strs[position%strs.length]);
      return view;
    }
}
class viewholder{
    public textview text;
}

在oncreate方法中将adapter赋值给listview

@override
public void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.main);
    listview = (listview) findviewbyid(r.id.listview);
    myadapter adapter = new myadapter(this);
    listview.setadapter(adapter);
    listview.setselection(integer.max_value/2+1);
    //设置listview初始化以后的默认选中项,要不然listview初始化以后只能向上拖动而不能向下拖动。
}

其实,严格来说,此程序并不是无限循环,只不过listview内数据太多,达到20多个亿,所以也可以算作是无限循环。

更多关于android相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》、《android布局layout技巧总结》、《android视图view技巧总结》、《android编程之activity操作技巧总结》、《android操作json格式数据技巧总结》、《android资源操作技巧汇总》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。