Некорректный вывод данных из ListView в EditText
При выводе данных из ListView в EditText выводится данное: Рисунок
Как это можно исправить?
Первый актив:
docList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Intent intent = new Intent();
String selectedFromList = String.valueOf(docList.getItemAtPosition(position));
intent.putExtra("_doc", selectedFromList);
setResult(RESULT_OK, intent);
finish();
}
});
Второй актив:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK)
return;
if (requestCode == REQUEST_CODE_CUST) {
docBox.setText(data.getStringExtra("_doc"));
}}
Ответы (1 шт):
Автор решения: woesss
→ Ссылка
Если вы используете CursorAdapter или его наследник, то getItemAtPosition возвращает курсор, установленный на указанную позицию и вы должны взять данные из него, например:
Cursor cursor = (Cursor) docList.getItemAtPosition(position);
intent.putExtra("_doc", cursor.getString(cursor.getColumnIndex(DbContract.COLUMN_NAME)));
* DbContract.COLUMN_NAME - это константа, в которой вы храните имя нужной колонки
P.S. если на той стороне вам нужно больше данных, а тем более их нужно править - то лучше передать просто id выбранной строки, а в другой активности по этому id работать напрямую с БД
