Имеется активити с выводом list при помощи SimpleCursorAdapter. При нажатии на любой item переносит в другой активити, где можно отредактировать запись. Далее по нажатию на back меня возвращает на первоначальное активити с первоначальным лист, однако item выглядит то неотредактированным. Можно конечно заново делать запрос на вывод всего list, однако хотелось бы запросить от базы только запись с id, которая редактировалась и изменить текст только одного item.
В первом активити я делал так:
Код: Выделить всё
lvMain.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent myIntent = new Intent(ShowAllList.this,
ShowPersonInfo.class);
Cursor cursor = (Cursor) scAdapter.getItem(position);
myIntent.putExtra("_id",
cursor.getString(cursor.getColumnIndex("_id")));
myIntent.putExtra("position",
position);
startActivity(myIntent);
}
});
Код: Выделить всё
public void onBackPressed() {
if(isEdited){
Intent intent = new Intent(this, ShowAllList.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("edit", isEdited);
intent.putExtra("_id", id);
intent.putExtra("position", position);
startActivity(intent);
}
super.onBackPressed();
}
Код: Выделить всё
@Override
protected void onResume() {
Intent intent = getIntent();
if(intent.hasExtra("edit")){
boolean edit = intent.getBooleanExtra("edit", false);
if(edit){
int position = intent.getIntExtra("position", -1);
//Дальше как найти и менять текст в View элементе?
}
}
super.onResume();
}