我将如何在android中的sqlite数据库中显示多个数据

时间:2015-02-16 14:21:05

标签: android database sqlite

我似乎无法显示数据库中的多个数据。只打印了我的数据库中的一个数据。

DatabaseHelper:

    public Cursor returnData2(String text, String look){
    String data;
    String where = "_column LIKE '"+look+"%'";


    Cursor c = myDataBase.query("translate_metadata", null, where, null, null, null, null);

    c.moveToFirst();
    while(!c.isAfterLast()){

       c.moveToNext();
    }
    return c;

}

活性:

    String inputtext = ((EditText) findViewById(R.id.inputKey)).getText().toString();
            String lowerinput = inputtext.toLowerCase();
            data = myDbHelper.returnData2("databasename",lowerinput);
             if(data.moveToFirst()){
                 rdata = data.getString(1);
                 ((TextView) findViewById(R.id.keyList)).setText(""+rdata.toString()+"\n");

             }

            myDbHelper.close(); 
        }
抱歉,如果它令人困惑。但我需要帮助。任何建议都可以。谢谢

2 个答案:

答案 0 :(得分:0)

使用TextView.append在单个TextView中显示所有数据:

TextView txtView=(TextView) findViewById(R.id.keyList);
if(data.moveToFirst()){
       rdata = data.getString(1);
       txtView.append(""+rdata.toString()+"\n");
   }

答案 1 :(得分:0)

我刚刚修改了你的尝试并尝试了这个

public Cursor returnData2(String text, String look){
    String data;
    String where = "_column LIKE '"+look+"%'";


    Cursor c = myDataBase.query("translate_metadata", null, where, null, null, null, null);

    myDbHelper.close(); 

    return c;

}

   TextView txtView=(TextView) findViewById(R.id.keyList);
   String inputtext = ((EditText) findViewById(R.id.inputKey)).getText().toString();
                String lowerinput = inputtext.toLowerCase();
                data = myDbHelper.returnData2("databasename",lowerinput);

                if(data.moveToFirst()){
                 while(!data.isAfterLast()){
                  rdata = data.getString(1);
                  txtView.append(""+rdata.toString()+"\n");

                  c.moveToNext();
                }
              }

          data.close();