Android 如何使ListView仅显示最后6项?
我的活动只显示listview(他从SQLite数据库中提取数据),他可以显示的数据没有限制,而且效果很好 现在,我想向MainActivity添加一个新的小listview,它将只显示最后五个数据 我在网络上找不到该怎么做 DataListActivity.java ListDataAdapter.javaAndroid 如何使ListView仅显示最后6项?,android,sqlite,listview,Android,Sqlite,Listview,我的活动只显示listview(他从SQLite数据库中提取数据),他可以显示的数据没有限制,而且效果很好 现在,我想向MainActivity添加一个新的小listview,它将只显示最后五个数据 我在网络上找不到该怎么做 DataListActivity.java ListDataAdapter.java 忽略代码,显然有一个对象数组要传递给数组适配器的构造函数 Object[] data = new Object[]{...} MyArrayAdapter myAdapter = new
忽略代码,显然有一个对象数组要传递给数组适配器的构造函数
Object[] data = new Object[]{...}
MyArrayAdapter myAdapter = new MyArrayAdapter(data ,... else)
您只需获取这个数据
数组,并将最后6个元素附加到一个新数组中
Object[] data2 = new Object[6]
for(int i = data.length()-7; i<data.length(); i++){
data2[data.length()-i] = data[i]
创建将返回游标[SQL query]上最后6行的方法
cursor = courseDbHelper.getInformationLast_6(sqLiteDatabase);
SQL:
这样你可以在你的列表中得到6项。在适配器类中尝试以下代码
public int getCount() {
return 6;
}
然后按升序或降序将查询更改为限制6。您可以移动到当前光标的最后一个位置,并移动到前几行以获取所需数据。有点:
ArrayList string;
if (cursor.moveToLast()){
for (int i = 1; i<=6; i++) {
string.add(cursor.getString(cursor.getColumnIndex("your_data")));
cursor.moveToPrevious();
}
}
cursor.close();
ArrayList字符串;
if(cursor.moveToLast()){
对于(inti=1;iTry this:如果你想要这个“小”使用现有的listview,然后在新的ListDataAdapter
中复制原始数据并加载新的listview。如果不需要原始listview,则可以修改现有数据并重新加载listview。显示ListDataAdapter类code@RahulSharma我想他使用的是默认的ArrayListAdapter活力。
cursor = courseDbHelper.getInformationLast_6(sqLiteDatabase);
SELECT * FROM table ORDER BY column DESC [ASC] LIMIT 6;
public int getCount() {
return 6;
}
ArrayList string;
if (cursor.moveToLast()){
for (int i = 1; i<=6; i++) {
string.add(cursor.getString(cursor.getColumnIndex("your_data")));
cursor.moveToPrevious();
}
}
cursor.close();