Android – Definición dinámica de la intención Extras

Estoy tratando de pasar una identificación a mi nueva actividad en la creación.

La solución obvia parece ser utilizar "Intent.putExtra (nombre, valor);". Pero como la intención sólo se crea al hacer clic, todos mis botones tienen los mismos extras de Intent (usualmente nulos).

¿Hay alguna manera de que pueda inicializar estos de un bucle?

for ( int i = 0; i< IDList.size() ; i++) { //Get Information from ID btnDetails.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(getApplicationContext(),DetailActivity.class); intent.putExtra("", IDList.get(i)); startActivity(intent); } }); //Add To Screen } 

En el código snippit IDList.get (i) está fuera del ámbito de aplicación y un nuevo Final Int no está marcado hasta que se hace clic en el botón, también saliendo del ámbito de aplicación.

¿Hay alguna otra era puedo enviar la variable en el tecleo?

Puede una clase interna que implementa OnClickListener y toma como parámetro el id. Por ejemplo

  private class MyOnClickListener implements OnClickListener { private final int mId; public MyOnClickListener(int id) { mId = id; } public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), DetailActivity.class); intent.putExtra("", mId); startActivity(intent); } } for ( int i = 0; i< IDList.size() ; i++) { btnDetails.setOnClickListener(new MyOnClickListener(IDList.get(i))); } 
  • Mi listview no rellena el padre
  • - java.lang.NullPointerException - setText en la referencia de objeto nulo
  • Android - Crash al generar un número aleatorio
  • ¿Por qué Merge sort se utiliza para objetos en Android / Java API?
  • Android: Java, C o C ++?
  • Uso del sensor magnético
  • Android: Will finish () SIEMPRE llama a onDestroy ()?
  • Android: diseño predeterminado para listitem que contiene el título y el subtítulo
  • Tener un error mySQL, columna desconocida where clause
  • ¿Qué es eso "MainActivity.this no está encerrando clase" error en realidad?
  • Uso de la actividad de la cámara en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.