我在Android Java应用程序中有一个Listview,从Sqlite数据库中获取数据。我想在MainActivity中只显示10个项目,并添加 "Load more items",在每次向上或向下滚动的最后显示10个项目。如何做到这一点?
这是DatabaseHelper.java中获取所有数据的代码。
public List<String> getAllData () {
SQLiteDatabase db = this.getReadableDatabase();
List<String> arrayList = new ArrayList<String>();
Cursor cursor = db.rawQuery("select * from " + TABLE_NAME + " order by ID desc", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
arrayList.add(
cursor.getString(cursor.getColumnIndex("ID"))+ ") " +
cursor.getString(cursor.getColumnIndex("TIME"))+ " | " +
cursor.getString(cursor.getColumnIndex("PHONE"))+ "\n" +
cursor.getString(cursor.getColumnIndex("SMS"))
);
cursor.moveToNext();
}
return arrayList;
}
这是我的MainActivity.java。
public class MainActivity extends AppCompatActivity {
DatabaseHelper myDB;
ArrayAdapter arrayAdapter;
ListView txtLogs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDB = new DatabaseHelper(MainActivity.this);
arrayAdapter = new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,myDB.getAllData());
txtLogs = findViewById(R.id.txtLogs);
txtLogs.setAdapter(arrayAdapter);
}
}
你好,你可以按照一些教程。这里是 教程链接 可以帮助你实现这个目标。