Мне нужно отобразить мои данные из базы данных в listview. Я использую arrayadapter с listview

-6

Это мой метод для получения данных. Посмотрите, как он отображает "изменение результата типа в строку".

public List<String> getData() {
// TODO Auto-generated method stub
String[] coloumn = new String[]{KEY,NAME,DETAIL};
Cursor c=ourDB.query(TABLE_NAME, coloumn, null, null, null, null, null);
List<String> result =" ";
List<String> results = new ArrayList<String>();
int iRow =c.getColumnIndex(KEY);
int iName =c.getColumnIndex(NAME);
int iDetails =c.getColumnIndex(DETAIL);
for(c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
result = result + c.getString(iRow)+" "+ c.getString(iName)+" = "+ c.getString(iDetails)+"\n";
}

return result;
}

Это мой класс для просмотра данных.

 public class View extends Activity {

SimpleCursorAdapter adaptr;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.display);
ListView lv =(ListView) findViewById(R.id.listView1);
Remind info = new Remind(this);
info.open();
List<String> data =info.getData();
lv.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, data));

}

}

пожалуйста, любой может предложить любые идеи. благодаря..!

спросил(а) 2021-01-19T19:44:17+03:00 6 месяцев, 1 неделя назад
1
Решение
110

Использовать это:


public List<String> getData() {
// TODO Auto-generated method stub
String[] coloumn = new String[]{KEY,NAME,DETAIL};
Cursor c=ourDB.query(TABLE_NAME, coloumn, null, null, null, null, null);
List<String> result =" ";
List<String> results = new ArrayList<String>();
int iRow =c.getColumnIndex(KEY);
int iName =c.getColumnIndex(NAME);
int iDetails =c.getColumnIndex(DETAIL);
for(c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
result = result + c.getString(iRow)+" "+ c.getString(iName)+" = "+ c.getString(iDetails)+"\n";
results.add(result);
}

return results;
}

ответил(а) 2021-01-19T19:44:17+03:00 6 месяцев, 1 неделя назад
45

Непосредственно добавьте данные своей базы данных в список:

results.add(" "+ c.getString(iRow)+" "+ c.getString(iName)+" = "+ c.getString(iDetails)+"\n");

Вернуть строковый список вместо String:

return results;

Удалите этот код, который больше не требуется:

Результат списка = "";

ответил(а) 2021-01-19T19:44:17+03:00 6 месяцев, 1 неделя назад
45

Из ошибки, о которой вы говорили, это очевидная проблема.

Следующая строка в getData() назначает строковый литерал в List.

List<String> result =" ";

Измените это на

String result = " ";

ответил(а) 2021-01-19T19:44:17+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема