Как вывести resultset в ListView
Добавлено: 20 янв 2015, 09:59
добрый день!
Подскажите как вывести результат ResultSet в ListView
ResultSet заполняется запросом в AsyncTask. ("select top 10 product, type from table")
есть layout (item.xml), в котором два textview (product и type)
пробую вот так:
Ошибка возникает при начале цикла while (rs.next()). Приложение в эмуляторе вылетает (Force close). Подскажите что не так?
Подскажите как вывести результат ResultSet в ListView
ResultSet заполняется запросом в AsyncTask. ("select top 10 product, type from table")
есть layout (item.xml), в котором два textview (product и type)
пробую вот так:
Код: Выделить всё
public void onPostExecute(ResultSet result)
{
try {
rs.beforeFirst();
} catch (SQLException e1) {
// TODO Автоматически созданный блок catch
e1.printStackTrace();
}
// упаковываем данные в понятную для адаптера структуру
ArrayList<Map<String, String>> data = new ArrayList<Map<String, String>>();
Log.d(LOG_TAG,"создаем ArrayList");
Map<String, String> m;
Log.d(LOG_TAG,"создаем MAP");
try {
Log.d(LOG_TAG,"eee"); // <-СТРОКА ЕСТЬ В ЛОГЕ
while (rs.next()){
Log.d(LOG_TAG,"фф"); // <-СТРОКИ В ЛОГЕ НЕТ
//for (int i = 0; i < resulSetSize; i++) {
m = new HashMap<String, String>();
m.put("product", rs.getString(0));
m.put("type", rs.getString(1));
Log.d(LOG_TAG,rs.getString(0));
data.add(m);
//}
}
} catch (SQLException e) {
// TODO Автоматически созданный блок catch
e.printStackTrace();
}
String[] from = {"product","type"};
int[] to = {R.id.tvText1,R.id.tvText2};
// создаем адаптер
SimpleAdapter sAdapter = new SimpleAdapter(MainActivity.this, data, R.layout.item, from, to);
//adapter = new Array Adapter<String> (MainActivity.this , android.R.layout.simple_list_item_1, result);
Log.d(LOG_TAG,"Устанавливаем адаптер");
lv.setAdapter(adapter);
//adapter.addAll(result);
//adapter.notifyDataSetChanged();
}
}