2013-06-25 4 views
-4

У меня проблема с ArrayList. Я объявляю ArrayList внутри класса. Я заполняю его внутри метода OnCreate. На OnCreate метода я вызов функции и внутри этой функции я доступ к 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

Редактировать: Извините, ArrayList пуст iniDB().

Благодаря maqjav, проблема решена, я сделал это:

До:

List<String> bdd_checked = readList (this, "animal"); 

После:

bdd_checked = (ArrayList<String>) readList (this, "animal"); 

и я уже отлиты из-за ReadList ():

общедоступный статический список ListList (контекст контекста, префикс строки) { 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; 

}

+0

Где это пусто? В 'initDB()'? И покажите нам код метода readList() '. –

+0

Вы проверили, возвращает ли readList правильные значения? – blganesh101

ответ

3

Вы создаете 2 различных ArrayLists:

Здесь (местные в своем классе):

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

и здесь (местные в функции OnCreate):

List<String> bdd_checked = readList (this, "animal") 

Изменить s в соответствии с:

bdd_checked = readList (this, "animal")