Страницы

Поиск по вопросам

понедельник, 12 ноября 2018 г.

Вывести из базы информацию в ListView

Меняю вопрос в корне, как мне вывести данные в лист вью что бы каждое поле было отдельно? вывожу вот таким способом, но информация вся хранится в одной строчке листВью.
public class RequestHistoryListActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.history_database_request); DatabaseOpenHelper dbhelper = new DatabaseOpenHelper(getBaseContext()); SQLiteDatabase sqliteDB = dbhelper.getReadableDatabase(); String[] from = { HistoryColumns.REQUEST, BaseColumns._ID }; final Cursor c = sqliteDB.query(History.TABLE_NAME, from, null, null, null, null, null); int[] to = new int[] { R.id.text1 }; SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.list, c, from, to); ListView lv = (ListView) findViewById(R.id.listView1); lv.setAdapter(adapter); lv.setOnItemClickListener(new OnItemClickListener() {
@Override public void onItemClick(AdapterView parent, View view, int pos, long id) {
// c.moveToPosition(pos); int rowId = c.getInt(c.getColumnIndexOrThrow(BaseColumns._ID)); // Uri outURI = Uri.parse(data.toString() + rowId); /* * Intent outData = new Intent(); History oneRow = new History(); * oneRow.setId(c.getLong(c.getColumnIndexOrThrow(BaseColumns._ID))); * oneRow.setRequest(c.getString(c.getColumnIndexOrThrow(HistoryColumns.REQUEST))); * setResult(Activity.RESULT_OK, outData); finish(); */ Log.v(MainActivity.TAG, rowId); } }); } }
history_database_request.xml



и то во что выводим
lisr.xml


Ответ

http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html Создавать примерно так Cursor cursor = getCursor() // любой метод возвращающий курсор SimpleCursorAdapter adapter = new SimpleCursorAdapter( this, R.layout.[layout_name], // ваш лэйаут, можно взять стандартный из android.R new String[] { DBMetaData.FirstFieldName, DBMetaData.SecondFieldName }, // имена полей new int[] { R.id.tvFirstField, R.id.tvSecondField } // id текствьюх в выбранном лэйауте );

Комментариев нет:

Отправить комментарий