2012-08-29 77 views
0

我想將arraylist的每個元素或值顯示爲tv.setText。顯示arraylist的每個元素以設置文本

arraylist的值來自1stactivity(第1屏幕),我想將它傳遞給第2個activity(第2屏幕)的tv.setText。

這裏的第一個活動

List<String> class_code = new ArrayList<String>(); 
class_code.add("test"); 
class_code.add("test2"); 
Intent intent = new Intent(1stscreen.this,2nd_screen.class); 
intent.putStringArrayListExtra("code", (ArrayList<String>) class_code); 

下面的代碼的第二個活動

tv.setText(getIntent().getExtras().getString("code")); 

的代碼,但它顯示的ArrayList(測試和測試2)的所有價值,我只想要得到的第一數組列表的值。

回答

2

從一個ArrayList在TextView中顯示只有一個項目,你需要通過第一項:

List<String> list = getIntent().getExtras().getStringArrayListExtra("code"); 
tv.setText(list.get(0)); 

如果你只打算在接下來的活動不要使用此一個字符串「T傳遞整個ArrayList中,只有把這個字符串要使用:

Intent intent = new Intent(1stscreen.this, 2nd_screen.class); 
intent.putString("code", class_code.get(0)); 
0

如果你想只有一個值使用像這樣class_code.get(0)

intent.putString("code", class_code.get(0)); 

,您可以從下一個活動使用

getintent().getExtras().getString("code"); 
0

得到它,如果你只想使用的第一個值,那麼只有通過第一個值。取而代之的

intent.putStringArrayListExtra("code", (ArrayList<String>) class_code); 

嘗試把

intent.putStringExtra("code", class_code.get(0)); 
0

使用此:

List<String> list = getIntent().getStringArrayListExtra("code"); 
tv.setText(list.get(0)); 
0

我需要從第一屏轉發值到第三個屏幕,所以我解決它使用

第一屏

intent.putStringArrayListExtra("class_code", (ArrayList<String>) class_code); 

第2屏幕

intent.putStringArrayListExtra("class_code", getIntent().getExtras().getStringArrayList("class_code")); 

3屏幕

tv.setText(getIntent().getExtras().getStringArrayList("class_code").get(0)); 
相關問題