-4
我有一個ArrayList的問題。我在一個類中聲明ArrayList。我將它填充到OnCreate方法中。在onCreate方法我調用一個函數,該函數訪問I到ArrayList裏面,但它是空的....這是starnge:可見性ArrayList裏面的功能
public class List_themeActivity extends Activity{
String[] array ;
ArrayList <String>bdd_checked = new ArrayList<String>();
private SQLiteDatabase bdd;
private ListView listView_listebase;
ListView msgList;
ArrayList<MessageDetails> details;
AdapterView.AdapterContextMenuInfo info;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_theme);
List<String> bdd_checked = readList (this, "animal");
initDB("LSPCC4.db");
[...]
}
}
protected void initDB(String BD_NAME){
int lg_bdd_checked=0;
lg_bdd_checked=this.bdd_checked.size();
}
有人能幫助我嗎? thx
編輯: 對不起iniDB()ArrayList是空的。
由於maqjav,問題就解決了,我已經做到了這一點:
前:
List<String> bdd_checked = readList (this, "animal");
後:
bdd_checked = (ArrayList<String>) readList (this, "animal");
,我已經鑄造由於readList( ):
public static List readList(Context context,String prefix) {01 SharedPreferences prefs = context.getSharedPreferences(「YourApp」,Context.MODE_PRIVATE);
int size = prefs.getInt(prefix+"_size", 0);
List<String> data = new ArrayList<String>(size);
for(int i=0; i<size; i++)
data.add(prefs.getString(prefix+"_"+i, null));
return data;
}
它在哪裏是空的?在'initDB()'?並向我們展示'readList()'方法的代碼。 –
您是否確認readList是否返回正確的值? – blganesh101