0

我想将 arraylist 的每个元素或值显示到 tv.setText。

arraylist 的值来自第一个活动(第一个屏幕),我想将它传递给第二个活动(第二个屏幕)的 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的所有值(test和test2)我只想得到arraylist的第一个值。

4

5 回答 5

2

要在 TextView 中仅显示 ArrayList 中的一项,您只需传递第一项:

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

如果你只打算在下一个 Activity 中使用这一个String,不要传递整个 ArrayList,只传递你要使用的 String:

Intent intent = new Intent(1stscreen.this, 2nd_screen.class);
intent.putString("code", class_code.get(0));
于 2012-08-29T17:03:12.763 回答
0

我需要将值从第一个屏幕转发到第三个屏幕,所以我使用它解决了

第一个屏幕

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

第二屏

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

第三屏

tv.setText(getIntent().getExtras().getStringArrayList("class_code").get(0));
于 2012-08-30T13:08:20.393 回答
0

用这个:

List<String> list = getIntent().getStringArrayListExtra("code");
tv.setText(list.get(0));
于 2012-08-29T17:07:36.440 回答
0

如果您只想要一个值,请使用此类 class_code.get(0)

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

你可以从下一个活动中得到它

getintent().getExtras().getString("code");
于 2012-08-29T17:03:31.020 回答
0

如果只想使用第一个值,则只传递第一个值。代替

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

试着把

intent.putStringExtra("code", class_code.get(0));
于 2012-08-29T17:03:43.153 回答