0

我是安卓新手。

如何使用 Intent 将数组值从一个类获取到另一个类?

我试过这样......第一次活动......

 Intent videointent = new Intent(Focusarea.this,Videoplayer.class);
 videointent.putExtra("string-array", resim_list);
 startActivity(videointent);

第二次活动

     Intent intent=getIntent();
    String [] Array = intent.getStringArrayExtra("string-array");

我将此作为警告,我将 null 作为第二秒活动中的值..

     W/Bundle(521): Key string-array expected String[] but value was a 
     java.util.ArrayList.  The default value <null> was returned.
     W/Bundle(521): Attempt to cast generated internal exception:
     W/Bundle(521): java.lang.ClassCastException: java.util.ArrayList
     W/Bundle(521):     at android.os.Bundle.getStringArray(Bundle.java:1459)
     W/Bundle(521):     at 
     android.content.Intent.getStringArrayExtra(Intent.java:3630)
      W/Bundle(521):    at 
     com.example.TEENEINSTIEN.Videoplayer.onCreate(Videoplayer.java:20)
      W/Bundle(521):    at 
      android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
4

2 回答 2

1

使用捆绑

Bundle bundle = new Bundle();
bundle.putStringArray("string-array", resim_list);
videointent.putExtras(bundle);

Videoplayer活动:

Bundle bundle = getIntent().getExtras();
String [] myStringArray = bundle.getStringArray("string-array");

resim_list编辑:如果在 aString[]或 an中,问题有点不确定ArrayList。如果resim_list是一个ArrayList

bundle.putStringArrayList("string-array", resim_list);

存储它并

 bundle.getStringArrayList("string-array")

取回它

于 2013-05-06T12:43:02.003 回答
0

也许你的resim_list实例是一个 ArrayList

您应该将 String[] 存储为:

videointent.putExtra("string-array", resim_list.toArray(new String[resim_list.size()]));
于 2013-05-06T12:46:43.153 回答