android 中怎么让ListView可以无限循环加载 Adapter中的数据
来源:互联网 发布:科幻电影知乎 编辑:程序博客网 时间:2024/04/25 20:18
有时候在开发的时候有这样的需求,那就是我们需要在ListView中无限重复加载一组数据,让我们的listView可以无限下拉。要想做到这点,我们必须自定义Adapter。重点在于们的getCount()方法因为我们的listView在加载数据的时候先要读取的,因为getCount()返回值的大小决定了ListView要加载的行数,所以这里我们需要返回一个很大的值,所以我们直接让它返回Integer.MAX_VALUE,其实这样并不是真正的无限循环,只是我们返回的getCount()值特别大,这样我们的ListView看起来可以无限下拉。
package com.example.jiehuang.longlistview;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private ListView mListView; private BaseAdapter mAdapter; private List<String> mDataList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_main); mListView = (ListView) findViewById(R.id.listView); mDataList = new ArrayList<>(); for (int i=0;i<10;i++){ mDataList.add("第"+i+"个ITEM"); } mAdapter = new BaseAdapter() { @Override public int getCount() { 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) { ViewHoider viewHoider; if (convertView==null){ convertView = LayoutInflater.from(MainActivity.this).inflate(R.layout.item,parent,false); viewHoider = new ViewHoider(); viewHoider.textView = (TextView) convertView.findViewById(R.id.textView); convertView.setTag(viewHoider); }else{ viewHoider = (ViewHoider) convertView.getTag(); } viewHoider.textView.setText(mDataList.get(position%mDataList.size())); return convertView; } }; mListView.setAdapter(mAdapter); mListView.setSelection(Integer.MAX_VALUE/2+1); } public class ViewHoider{ private TextView textView; }}
1 0
- android 中怎么让ListView可以无限循环加载 Adapter中的数据
- android listview无限循环显示数据
- android 中ListView中的adapter详解
- android listview中的adapter
- Android studio异步数据加载ListView+Adapter+AsyncTask
- ListView中adapter加载数据的两种方式
- 怎么可以让父窗口得到IFRAME中的数据..~
- Android中的ListView和Adapter
- android ListView内容无限循环显示
- Android ListView实现无限循环滚动
- 【Android】ListView开发中Adapter使用Activity中的方法
- Android中ListView动态加载数据
- Android中ListView分页加载数据
- Android中ListView分页加载数据
- android中listview分页加载数据
- Android中使用Listview动态加载数据
- Android中ListView分页加载数据
- Android中ListView分页加载数据
- HTTP权威指南学习笔记
- Java堆外内存之突破JVM枷锁
- Android添加系统service
- getResourceAsStream用法
- Spring中数据库事务配置后不起作用
- android 中怎么让ListView可以无限循环加载 Adapter中的数据
- 深入理解RunLoop
- Python module “cx_Oracle” module could not be found
- iOS之通过事件传递机制获取视图的控制器
- Java中删除文件、删除目录及目录下所有文件
- Exchange 2010搭建
- 惊梦App:给萌糙的游戏世界添一抹旧时书的古典美
- mongodb 添加用户报错TypeError:db.addUser is not a function
- [从头学数学] 第108节 有理数