Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从SQLite筛选记录以显示在列表中_Java_Android_Sqlite - Fatal编程技术网

Java 从SQLite筛选记录以显示在列表中

Java 从SQLite筛选记录以显示在列表中,java,android,sqlite,Java,Android,Sqlite,我在SQLite数据库中有一些数据,我想基于小逻辑在列表中显示这些数据 我的表中有三个字段 first field : id second field : title third field : type 其中,类型可以是:每月或每年 这是我的密码: // Generate real data for each item public List<ReminderItem> generateData(int count) { ArrayList<

我在SQLite数据库中有一些数据,我想基于小逻辑在
列表中显示这些数据

我的表中有三个字段

first field : id
second field : title
third field : type 
其中,类型可以是:
每月
每年

这是我的密码:

    // Generate real data for each item
    public List<ReminderItem> generateData(int count) {
        ArrayList<ReminderItem> items = new ArrayList<>();

        // Get all reminders from the database
        List<Reminder> reminders = rb.getAllReminders();

        // Initialize lists
        List<String> Titles = new ArrayList<>();
        List<String> Type = new ArrayList<>();
        List<Integer> IDList= new ArrayList<>();

        // Add details of all reminders in their respective lists
        for (Reminder r : reminders) {
            Titles.add(r.getTitle());
            Type.add(r.getType());
            IDList.add(r.getID());
        }
        return items;
      }
//为每个项目生成真实数据
公共列表生成数据(整数计数){
ArrayList items=新建ArrayList();
//从数据库中获取所有提醒
列表提醒=rb.getAllMembers();
//初始化列表
列表标题=新的ArrayList();
列表类型=新建ArrayList();
List IDList=new ArrayList();
//在各自的列表中添加所有提醒的详细信息
对于提醒(r:提醒){
Titles.add(r.getTitle());
Type.add(r.getType());
IDList.add(r.getID());
}
退货项目;
}
在这种情况下,我需要你们的帮助,正如你们仍然可以看到的那样,我正在将数据库中的每一条记录显示到列表中,无论它属于哪个类型

现在,我只想在
列表中显示
记录
,它只属于类型“每月”

那我到底要做什么?如何在列表中仅显示“每月”类型的记录


我有一个
字符串
变量,即strType=“Monthly”

当您从sqlite数据库中选择时,可以在其中添加过滤器

Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A + " WHERE " + 
COLUMN_TYPE + "=?", new String[]{ arg0 }); // arg0 = "Monthly"

这将提高性能,而不是在加载后过滤列表

当您从sqlite db中选择时,您可以在那里添加过滤器

Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A + " WHERE " + 
COLUMN_TYPE + "=?", new String[]{ arg0 }); // arg0 = "Monthly"

这将提高您的性能,而不是在加载后筛选列表

您有两种选择来执行此操作

首先,通过执行下面的sql语句,直接从数据库中获取提醒类型为“每月”的记录

第二种是,当您将数据添加到列表中时,检查提醒类型等于“每月”

完整代码

// Generate real data for each item
public List<ReminderItem> generateData(int count) {

    String strType = "Monthly";

    ArrayList<ReminderItem> items = new ArrayList<>();

    // Get all reminders from the database
    List<Reminder> reminders = rb.getAllReminders();

    // Initialize lists
    List<String> Titles = new ArrayList<>();
    List<String> Type = new ArrayList<>();
    List<Integer> IDList= new ArrayList<>();

    // Add details of all reminders which type="Monthly" in their respective lists
    for (Reminder r : reminders) {

        String reminderType = r.getType();
        if(reminderType.equalsIgnoreCase(strType)) {

            Titles.add(r.getTitle());
            Type.add(reminderType);
            IDList.add(r.getID());
        }
    }
    return items;
}
//为每个项目生成真实数据
公共列表生成数据(整数计数){
字符串strType=“Monthly”;
ArrayList items=新建ArrayList();
//从数据库中获取所有提醒
列表提醒=rb.getAllMembers();
//初始化列表
列表标题=新的ArrayList();
列表类型=新建ArrayList();
List IDList=new ArrayList();
//在各自的列表中添加类型为“每月”的所有提醒的详细信息
对于提醒(r:提醒){
字符串提醒类型=r.getType();
if(提醒类型.相等信号案例(strType)){
Titles.add(r.getTitle());
Type.add(提醒类型);
IDList.add(r.getID());
}
}
退货项目;
}

您有两种选择来执行此操作

首先,通过执行下面的sql语句,直接从数据库中获取提醒类型为“每月”的记录

第二种是,当您将数据添加到列表中时,检查提醒类型等于“每月”

完整代码

// Generate real data for each item
public List<ReminderItem> generateData(int count) {

    String strType = "Monthly";

    ArrayList<ReminderItem> items = new ArrayList<>();

    // Get all reminders from the database
    List<Reminder> reminders = rb.getAllReminders();

    // Initialize lists
    List<String> Titles = new ArrayList<>();
    List<String> Type = new ArrayList<>();
    List<Integer> IDList= new ArrayList<>();

    // Add details of all reminders which type="Monthly" in their respective lists
    for (Reminder r : reminders) {

        String reminderType = r.getType();
        if(reminderType.equalsIgnoreCase(strType)) {

            Titles.add(r.getTitle());
            Type.add(reminderType);
            IDList.add(r.getID());
        }
    }
    return items;
}
//为每个项目生成真实数据
公共列表生成数据(整数计数){
字符串strType=“Monthly”;
ArrayList items=新建ArrayList();
//从数据库中获取所有提醒
列表提醒=rb.getAllMembers();
//初始化列表
列表标题=新的ArrayList();
列表类型=新建ArrayList();
List IDList=new ArrayList();
//在各自的列表中添加类型为“每月”的所有提醒的详细信息
对于提醒(r:提醒){
字符串提醒类型=r.getType();
if(提醒类型.相等信号案例(strType)){
Titles.add(r.getTitle());
Type.add(提醒类型);
IDList.add(r.getID());
}
}
退货项目;
}

非常感谢@HirendrasinhS.Rathod非常感谢@HirendrasinhS.Rathod