Вы написали бесконечный цикл while
, потому что c
не является и никогда не будет null
. Удалите эту строку:
c.moveToFirst();
и измените цикл следующим образом:
while (c.moveToNext){
x.add(c.getString(nameIndex));
x.add(Integer.toString(c.getInt(ageIndex)));
Log.i("name",c.getString(nameIndex));
}
Я предполагаю, что x
- это List
, где вы сохраняете результаты. Таким образом, после окончания цикла у вас будет 4 элемента в List
. С помощью этой строки:
txt.setText(x.get(2));
вы устанавливаете текст TextView
для 3d-элемента List
. Конечно, это будет работать, если база данных будет создана, таблица будет создана и операторы INSERT
не завершатся с ошибкой. Поскольку весь ваш код находится внутри блока try/catch
, приложение не будет аварийно завершать работу при возникновении проблемы.