android - SQLite读取所有数据操作

标签 android sqlite

请检查这有什么问题。我正在尝试检索表中的所有记录(包含 11 条记录和 3 列 "name","address","city")但我的代码显示只有一个,即我屏幕上最后插入的记录。但我需要显示所有记录。

public void readData(View v)
    {
        DatabaseClass mydb = new DatabaseClass(this);
        SQLiteDatabase readdata = mydb.getReadableDatabase();
        TextView tv = (TextView)findViewById(R.id.readtext);
        Cursor c = readdata.rawQuery("select * from mylistdata", null);
        int[] elementId = {R.id.textView1, R.id.textView2, R.id.textView3}; 
        if(c !=null)
        {
            c.moveToFirst();
            while(c.isAfterLast() == false)
            {
                listData = new ArrayList<GenericListItem>();
                String name = c.getString(c.getColumnIndex(DatabaseClass.NAME));
                String address = c.getString(c.getColumnIndex(DatabaseClass.ADDRESS));
                String city = c.getString(c.getColumnIndex(DatabaseClass.CITY));
                listData.add(new GenericListItem(new String[]{name,address,city}));
                listAdapter = new GenericListAdapter(getApplicationContext(), R.layout.list_layout, listData, elementId);
                result.setAdapter(listAdapter);
                c.moveToNext();
            }



        }

最佳答案

While 循环之外初始化 listData ArrayList 为:

    c.moveToFirst();
    listData = new ArrayList<GenericListItem>();
    while(c.isAfterLast() == false)
    {
       // add value here to listData
      c.moveToNext();
    }
   // set  listData datasource to GenericListAdapter here

   listAdapter = new GenericListAdapter(getApplicationContext(), 
              R.layout.list_layout, listData, elementId);

   result.setAdapter(listAdapter);

关于android - SQLite读取所有数据操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14272688/

相关文章:

android - 实现内容提供商,获取数据 : Failed to read row 0 column -1 时出错

java - Azure 移动服务 Android 错误

android - 通过 android 模拟器连接到本地运行的 SignalR .netcore 服务器

.net - SQLite数据透视和交叉表查询

java - org.tmatesoft.sqljet.core.SqlJetException : BUSY: error code is BUSY 问题

android - SQLite 和 SQL 有什么区别

android - 从 1 行 4 列的 CursorWindow 读取第 0 行第 4 列失败

MySQL/MariaDB/SQLite : DISTINCT CONCAT

c++ - 如何检查数据库是否存在?

android - 从库存 Google 相册应用共享照片时,具有 "android.intent.action.SEND" Intent 过滤器的 Activity 未显示在列表中