protected static final int maxNumber = 20;
protected int startIndex = 0;
/**
* ListView分批加载数据
*/
private void fillData() {
new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
dao = new BlackNumberDao(CallSmsSafeActivity.this);
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
if (infos == null) {
infos = dao.queryPart(maxNumber, startIndex);
} else {
List<BlackNumberInfo> queryPart = dao.queryPart(maxNumber,
startIndex);
infos.addAll(queryPart);
}
return null;
}
@Override
protected void onPostExecute(Void result) {
if (adapter == null) {
adapter = new CallSmsSafeAdapter(CallSmsSafeActivity.this,
infos);
lv_call_sms_safe.setAdapter(adapter);
} else {
adapter.notifyDataSetChanged();
}
super.onPostExecute(result);
}
}.execute();
}
/**
* 分批查询数据数据
*/
public List<BlackNumberInfo> queryPart(int maxNumber,int startIndex){
List<BlackNumberInfo> infos = new ArrayList<BlackNumberInfo>();
SQLiteDatabase database = helper.getWritableDatabase();
Cursor cursor = database.rawQuery("select blackNumber,mode from info
order by id desc limit ? offset ?", new String[]{maxNumber+"",startIndex+""});
while(cursor.moveToNext()){
String number = cursor.getString(0);
int mode = cursor.getInt(1);
BlackNumberInfo blackNumberInfo = new BlackNumberInfo(number,mode);
infos.add(blackNumberInfo);
}
cursor.close();
database.close();
return infos;
}
ListView分批加载数据
最新推荐文章于 2021-05-27 06:51:33 发布