Cómo pasar ArrayList usando putStringArrayListExtra ()

Hola quiero pasar un Arraylist de una activity a otra. Yo uso putStringArrayListExtra() , pero allí muestra un error: "The method putStringArrayListExtra(String,ArrayList is undefined for the type bundle." ¿Hay algún otro método disponible para pasar ArrayList ?

 String test[]=new String[3]; ArrayList<String[]> al=new ArrayList<String[]>(); int x,y; test[0]="1"; test[1]="2"; test[2]="3"; al.add(test); test = new String[3]; test[0]="4"; test[1]="5"; test[2]="6"; al.add(test); Bundle list_bundle=new Bundle(); list_bundle.putStringArrayListExtra("lists",al); Intent list_intent= new Intent(v.getContext(), view_all_selected.class); list_intent.putExtras(list_bundle); startActivityForResult(list_intent, 2); 

Intenta debajo de uno para pasar la matriz 1-D a Arraylist en extras

 ArrayList<String> al = new ArrayList<String>(); String arr[] = {"Zero", "One", "Two"}; //Convert string array to a collection Collection l = Arrays.asList(arr); al.addAll(l); i.putStringArrayListExtra("ar", al); 

Probar esto funcionó para mí

Primera Actividad

 ArrayList<String> ar=new ArrayList<String>(); ar.add("Apple"); ar.add("Banana"); Intent i=new Intent(this,Route.class); i.putStringArrayListExtra("list", ar); startActivity(i); 

2ª Actividad

 ArrayList<String> ar1=getIntent().getExtras().getStringArrayList("list"); 

Primera Actividad:

  ArrayList<String> al = new ArrayList<String>(); int ROWS = 2; int COLS = 1; String[][] a2 = new String[ROWS][COLS]; a2[0][0]="one"; a2[1][0]="two"; for(int i=0;i<ROWS;i++) { for(int j=0;j<COLS;j++) { al.add(a2[i][j]); } } i.putStringArrayListExtra("ar", al); i.putExtra("ROWS", ROWS); i.putExtra("COLS", COLS); 

Segunda actividad:

 ArrayList<String> test = new ArrayList<String>(); test=getIntent().getExtras().getStringArrayList("ar"); int ROWS=getIntent().getExtras().getInt("ROWS"); int COLS=getIntent().getExtras().getInt("COLS"); String[][] a2 = new String[ROWS][COLS]; int index=0; for(int i=0;i<ROWS;i++) { for(int j=0;j<COLS;j++) { a2[i][j]=test.get(index++); } } 

Debe definir ArrayList de tipo String. No puede pasar Generic ArrayList en putStringArrayListExtra. A continuación se muestra el código correcto.

 ----- ArrayList<String> al = new ArrayList<String>(); ------ ------- list_bundle.putStringArrayListExtra("lists",al); ------ 

Ahora acceda a esta ArrayList en otra actividad como esta.

 ArrayList<String> cl= new ArrayList<String>(); cl =getIntent().getExtras().getStringArrayList("lists"); 
  • Android: Ayuda bidimensional de ArrayList
  • ¿Cuál es la manera más rápida de filtrar datos de ArrayList?
  • Parcelable de Android Longitudes de array incorrectas
  • Tener problemas para vincular un objeto ksoap a un ArrayList en Android
  • Guardar ArrayList en la base de datos SQLite en Android
  • ArrayList no se puede convertir en clase personalizada extendiendo ArrayList
  • Cómo recuperar un objeto List de la base de firebase en android
  • Cómo dividir anidados ArrayList a todos los diseños en TabLayout
  • Pasar ArrayList <MyObject> entre múltiples actividades
  • Listview con arraylist, adaptador simple en android
  • Cómo cambiar elementos en un ArrayList
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.