2012-07-15 69 views
4

在我的android應用程序中,我希望能夠將字符串值添加到我在主要的android活動中聲明的靜態arraylist。邏輯如下:如何查看arraylist java中的所有項目?

1)當你點擊一個按鈕並且一個活動開始時。在oncreate方法中,我想將當前活動的類的名稱保存爲字符串值。例如:

String className = "com.lunchlist.demo"; 

後這個值賦給我想立刻這個字符串值添加到我剛纔在主要的android活動聲明靜態的ArrayList(意思是啓動的第一個Android的活動)增加值

我做了這樣的事情:

static String List<String> members = new ArrayList<String>(); 

這是我的主要活動聲明。現在,當我點擊一個按鈕來啓動另一個活動我使用它來爲當前活動添加字符串類名到我的ArrayList在我的onCreate方法:

String className = "com.lunchlist.demo" 
    members.add(className); 

我的問題是,現在,將這個字符串值添加到我的arraylist並保存以備後用?例如,如果我點擊三個不同的按鈕,這將爲arraylist添加三個不同的className值。然後這會存儲一個字符串值,爲我的成員arraylist保存三個不同的字符串值?如何檢查我的數組列表中的每個項目,以查看新活動啓動時是否添加了值?

我問這個,因爲我需要檢索此並使用共享偏好存儲這些值,並取回這些數據,並使用字符串值,其是開始活動類開始的意圖。我得到了一個類名字符串值開始的活動,我只是無法存儲它們。

回答

16

回答您的所有問題:

這會將字符串值添加到我的數組列表並保存以備後用 使用?

是的。你的代碼看起來很完美,沒有任何問題。

例如,如果我點擊三個不同的按鈕,這將添加三個 不同的className值到數組列表。這會然後存儲爲我 成員的ArrayList,將舉行三個不同的字符串值 字符串值?

如果你告訴你的按鈕的onClickListener添加到成員ArrayList中,然後它會做一個字符串,不管你已經有了以前添加該成員到ArrayList,因爲數組列表不關心,如果有是否重複數據。

我怎麼會查一下我的ArrayList中的每個項目看看,當一個新的活動開始被添加值 ?

你必須迭代你的數組列表中的for或for-cicle,然後將該成員名稱打印爲日誌條目。

  • 的for-each cicle

    for (String member : members){ 
        Log.i("Member name: ", member); 
    } 
    
  • 簡單對於cicle

    int listSize = members.size(); 
    
    for (int i = 0; i<listSize; i++){ 
        Log.i("Member name: ", members.get(i)); 
    } 
    

如果您嘗試打印/記錄的值索引超出範圍,即i < 0 || i >= listSize然後一個IndexOutOfBoundsException將被拋出並崩潰你的應用程序。

+0

謝謝我使用了listview – 2012-07-17 18:44:23

6

迭代使用的for-each從Java 1.5的Java介紹:

for (String s : members){ 
    Log.d("My array list content: ", s); 
} 

請參閱此鏈接瞭解更多詳情:

http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html

+0

謝謝,我會盡力的。我還問過它是否將三個字符串值存儲在我的數組列表中? – 2012-07-15 17:27:45

+0

members.add(classname)必須在按鈕的onClick或onCreate() – 2012-07-15 17:50:26

2

試試這個,它的燈光我:)

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

for (String s : limits) 
{ 
    Toast.makeText(getApplicationContext(),s , Toast.LENGTH_SHORT).show(); 
} 
相關問題