我是新手。
如何使用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)
答案 0 :(得分:1)
使用Bundle:
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
或String[]
中有ArrayList
,则问题有点无法解决。
如果resim_list
是ArrayList
bundle.putStringArrayList("string-array", resim_list);
存储它和
bundle.getStringArrayList("string-array")
检索它
答案 1 :(得分:0)
也许你的resim_list
实例是一个ArrayList
你应该存储一个String []:
videointent.putExtra("string-array", resim_list.toArray(new String[resim_list.size()]));