Android: cómo editar mi ListView en otra actividad y devolver el resultado editado a ListView

Así que tengo una vista de lista en mi clase de actividad 1, lo que quiero hacer es:

Haga clic en un elemento en la vista de lista, que abrirá la clase de actividad2, con 2 textos de edición con los valores del elemento en el que se hizo clic en la vista de lista, como cadenas de nombre y edad, quiero editar esos valores/cadenas en mi clase de actividad2 [cambiando los textos de edición], y enviar los valores editados de vuelta a mi vista de lista en la clase actividad1, y mostrar los valores editados en mi vista de lista [por ejemplo, mostrar el nombre] en lugar de mostrar el valor/cadena anterior que estaba en la vista de lista antes de la edición.

He intentado de muchas maneras diferentes y no he podido lograr el objetivo, me encantaría que alguno de ustedes pudiera ayudarme.

Gracias,

preguntado el 23 de diciembre de 12 a las 13:12

2 Respuestas

Puede transferir los datos de los elementos seleccionados a su segunda actividad como este código a continuación

Intent i = new Intent(MainActivity.this,ReportActivity.class);
            i.putExtra("MainDate", MainDate.getText().toString());

y en tu segunda actividad tienes que obtener estos datos y luego manipularlos

Intent intent = getIntent();
    MainDate = intent.getExtras().getString("MainDate");

luego envíe sus datos manipulados a su primera actividad como antes y luego actualice su adaptador de lista

puede tener datos de su elemento seleccionado en su primera lista de actividades con este código que se encuentra en yourList.setOnItemClickListener

Cursor Getdata = (Cursor)YourList.getItemAtPosition(position);
String Yourcolumnstring = Getdata.getString(Getdata.getColumnIndex("yourcolumnindex")) ;

Respondido el 23 de diciembre de 12 a las 13:12

Gracias por su respuesta rápida, probaré los consejos que me dio, pero no estoy seguro de cómo: i.putExtra("MainDate", MainDate.getText().toString()); ... obtendrá mi "elemento de vista en el que se hizo clic" y lo enviará a mi actividad2. - user1924895

primero debe obtener su objeto de elemento seleccionado y obtener los datos específicos que desea enviar a su segunda actividad (como mencioné en la respuesta), luego puede enviar su cadena a través de una intención a su segunda actividad. (Gracias por aceptar ) - Arash GM

Tengo una pregunta... ¿Qué es MainDate? en su ejemplo, porque necesito hacer clic en la fila de vistas de lista ... y enviarla ... para editar ... y parece que no puedo hacer que funcione. a menos que use "ArrayListName.get(position));" - user1924895

MainDate es mi vista de texto que necesitaba para obtener datos y enviarlos a la segunda Actividad. Debe usar mi código más reciente para obtener datos de su lista primero en su lista dentro de setonitemclicklistener luego, cuando obtenga los datos de su columna específica, puede enviarlos a través de una intención a tu Actividad - Arash GM

@Arash, ¿cómo podemos restablecer los datos actualizados en la misma fila en la vista de lista? - Shani Goriwal

debe enviar sus cadenas a la actividad 2 y cuando regrese de la actividad 2 a la actividad 1 debe enviar sus nuevas cadenas de la actividad 2 a la actividad 1. Debe enviar sus cadenas de la siguiente manera:

String str = "My Data"; //Data you want to send
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("name",str);

debe recibir str en actividad2 de la siguiente manera:

String name = this.getIntent().getStringExtra("name");

Respondido el 23 de diciembre de 12 a las 13:12

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.