Pasando ArrayList a otra clase

Lo que está sucediendo aquí en mi aplicación es que obtengo una columna de la base de datos, que funciona porque cuando System.out.println() muestra exactamente lo que quiero en un formato de lista de matrices, luego trato de pasar eso a otra clase y Sigo recibiendo un error. ¿Alguien sabe por qué está pasando esto? Por favor, si puede mostrar el código, gracias de antemano.

El código de mi clase principal (bastante largo, por lo que solo vincula una pequeña parte):

//Declarations at the top
ArrayList<String> roles = new ArrayList<String>();
AFragmentTabDB aFDB;
DataBaseHelper myDB;

//Trying to pass the arraylist to another class called aFDB
roles = myDB.getTableColumn("role", new String[] {"name"});
System.out.println(roles);  
aFDB.setRoleList(roles);

Aquí está la clase a la que estoy tratando de pasar esto:

public class AFragmentTabDB {


ArrayList<String> roles = new ArrayList<String>();

public void setRoleList(ArrayList<String> aL){
    this.roles = aL;

}

public ArrayList<String> getRoleList(){
    return roles;

}

}

Aquí es donde está mi getTableColumn():

public class DataBaseHelper extends SQLiteOpenHelper{

    public ArrayList<String> getTableColumn(String tableName, String[] column){

    ArrayList<String> aL = new ArrayList<String>();

    cursor = myDataBase.query(tableName, column, null, null, null, null, null);

    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
      aL.add(cursor.getString(0));
      cursor.moveToNext();
    }

    cursor.close();
    return aL;
}
}

preguntado el 01 de septiembre de 12 a las 15:09

nunca se llamó a getRoleList() -

@wtsang02, está en la última línea del primer segmento de código:

Perdón por no vincular el error, fue un error de puntero nulo pero la respuesta de brianestey funcionó: D. -

1 Respuestas

No ha construido el objeto AFragmentTabDB, por lo que cuando llama a setRoleList() lo está llamando en un objeto nulo.

Cambia tu línea de

AFragmentTabDB aFDB;

a

AFragmentTabDB aFDB = new AFragmentTabDB();

Respondido el 01 de Septiembre de 12 a las 15:09

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