ListView OnItemClickListener con una nueva actividad
Tengo un listView con un OnItemClickListener. Cuando hago clic en un elemento, me gustaría abrir un nuevo wiew en una nueva Actividad como esta:
final ListView lv1 = (ListView) findViewById(R.id.ListView02); lv1.setAdapter(new SubmissionsListAdapter(this,searchResults)); lv1.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Intent myIntent = new Intent(v.getContext(), UserSubmissionLog.class); startActivityForResult(myIntent, 0); UserSubmissionLog userSubmissionLogs= new UserSubmissionLog(position); System.out.println("Position "+position); } } );
El problema es que tengo que transferir el número de posición clicked a la nueva actividad y no sé cómo hacer esto.
- Color de fondo ondulado de Android
- Haga clic en ImageView dentro de ListView ListItem y obtenga la posición?
- Listview en el lado de rleft y tabhost en el lado derecho con la proporción de 20:80 compartir pantalla
- Cómo manejar largo toque en el elemento ListView?
- ListView 2 filas e icono por artículo en Android
Gracias.
- Actualización de la vista Lista de Android
- ListView con horizontalScrollView OnItemClick no funciona
- Eliminar listview en xamarin android
- ListView: ¿Cómo agregar datos en ArrayAdapter personalizado?
- ClassCastException no puede convertir LinearLayout $ LayoutParams a AbsListView $ LayoutParams al establecer ListView Header
- AutoCompleteTextView con Google Places mostrado en ListView al igual que Uber
- Anulación de Android ListView onItemClick haciendo que el elemento se seleccione (marcado)
- Obtener el elemento seleccionado al hacer doble clic en el elemento de lista
Debe añadirlo a la intención:
Intent myIntent = new Intent(v.getContext(), UserSubmissionLog.class); myIntent.putExtra("position", position); startActivityForResult(myIntent, 0);
Y en la nueva Actividad, llame a:
int prePosition = getIntent().getIntExtra("position", someDefaultIntValue);
Prueba esto,
public class yourClassName { private static listIndex = 0; ...... ...... final ListView lv1 = (ListView) findViewById(R.id.ListView02); lv1.setAdapter(new SubmissionsListAdapter(this,searchResults)); lv1.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { listIndex = position; Intent myIntent = new Intent(v.getContext(), UserSubmissionLog.class); startActivityForResult(myIntent, 0); UserSubmissionLog userSubmissionLogs= new UserSubmissionLog(position); System.out.println("Position "+position); } } ); // make new static method to access listIdex from another class private static int getListIndex() { return position; } }
Intent myIntent = new Intent(v.getContext(), UserSubmissionLog.class); myIntent.putExtra("your_key_name_for_this_extra", position); startActivityForResult(myIntent, 0);
Y para la actividad de recepción, obtenga el valor int mediante
int receivedValue = getIntent().getIntExtra("your_key_name_for_this_extra", default_value);
- Cómo esperar el inicio de un subproceso en java
- Cómo cerrar una ventana / actividad después de una cierta cantidad de inactividad