ここで私のアプリで起こっているのは、データベースから列を取得することです。これは、System.out.println() が配列リスト形式で必要なものを正確に示しているときに機能し、それを別のクラスに渡そうとします。エラーが発生し続けます。なぜこれが起こっているのか知っている人はいますか?コードを表示できる場合は、事前に感謝します。
私のメインクラスのコード(かなり長いので、ほんの一部をリンクしています):
//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);
これを渡そうとしているクラスは次のとおりです。
public class AFragmentTabDB {
ArrayList<String> roles = new ArrayList<String>();
public void setRoleList(ArrayList<String> aL){
this.roles = aL;
}
public ArrayList<String> getRoleList(){
return roles;
}
}
これが私の 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;
}
}