java - 将 SQLite 数据库值添加到 ListView

标签 java android sqlite

如果记录存在,我想将 SQLite 数据库值添加到 ListView,但我只从 EditText 获取文本。

这就是我正在做的

来自databaseHelper类的代码

public String ifExistIn(String stationName) {

    String query = "SELECT stationName FROM review WHERE stationId='" + stationName + "' LIMIT 1";
    try {
        SQLiteDatabase database = getReadableDatabase();
        Cursor c = database.rawQuery(query, null));
        return stationName;
    }
}

来自 Activity 类的代码

public View.OnClickListener searchStation = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        DatabaseHelper dbHelper = new DatabaseHelper(getApplicationContext());
        String searchString= searchText.getText().toString();
        dbHelper.ifExistIn(searchString);

        list.add(searchString);
        arrayAdapter= new ArrayAdapter<String>(SearchAndReview.this, android.R.layout.simple_list_item_1, list);

        listView.setAdapter(arrayAdapter);
    }
};

最佳答案

这里可能有一些错误,但据我所知,你可以尝试这个:

public String ifExistIn(String stationName) {

    String query = "SELECT stationName FROM review WHERE stationId='" + stationName + "' LIMIT 1";
    SQLiteDatabase database = getReadableDatabase();
    Cursor c = database.rawQuery(query, null);
    c.moveToFirst();
    return c.getString(c.getColumnIndex("stationName"));
}

您必须获取光标的结果并解释它,然后将其返回为String stationName

还有这个:

public View.OnClickListener searchStation = new View.OnClickListener() {
@Override
public void onClick(View v) {
    DatabaseHelper dbHelper = new DatabaseHelper(getApplicationContext());
    String searchString= searchText.getText().toString();

    String usethis = dbHelper.ifExistIn(searchString);

    list.add(usethis);
    arrayAdapter= new ArrayAdapter<String>(SearchAndReview.this, android.R.layout.simple_list_item_1, list);

    listView.setAdapter(arrayAdapter);
}
};

您将获取 searchString 并将其放入列表中,但不对查询结果执行任何操作。您需要将查询结果分配到某处然后使用它。或者实际上直接在插入中使用它,例如:

list.add(dbHelper.ifExistsIn(searchString);

关于java - 将 SQLite 数据库值添加到 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29564827/

相关文章:

java - 查找字符串中连续重复字符的最大数量

java - 整数太大(android/java)

android - 工具栏下的 Material Design 固定选项卡

java - Hibernate Persistencebag 从列表中删除元素

java - Mapreduce 作业到 HBase 抛出 IOException : Pass a Delete or a Put

mysql - 在子查询中使用外部查询值 - 出现错误 : "no such column .... "

sqlite - SQLite3:附加:memory:已经创建的数据库?

mysql - 如何将 SQLite Core Data 数据库与远程 MySQL 数据库同步?

java - 如何通过不变检查对序列化进行单元测试?

android - AdMob:AdLoader 在获取 URL 时 60000 毫秒后超时