-2

在 Android 中,使用 Bundle 存储和检索数组列表值,但我无法检索此数组列表值,请帮助我

提前致谢

我试过这个:

ArrayList<String> al = new ArrayList<String>();                                     
al.add(""+StrValue);                                                                                                                                                                                                                                  
Bundle value= new Bundle();                                                            
value.putStringArrayList("temp1", al);


 ArrayList<String> al = new ArrayList<String>();
 Bundle bundle =new Bundle();
 System.out.println("Retrieve Values are: "+bundle.getStringArrayList("temp1"));

Finally i got the result is Retrieve Values are (null)
4

2 回答 2

1
Intent i = new Intent(this,name.class);
i.putStringArrayListExtra("stringname", value);
startActivity(i);

并将数据获取到 Tabbar 活动中,例如

Bundle extras = getIntent().getExtras();
    if (extras != null) {
        ArrayList<String> value = extras.getStringArrayList("stringname");
        Log.e(" array list value ", "" + value.size());
    }

和标签栏设置 Intent 之类的

TabHost.TabSpec spec;
spec = tabHost.newTabSpec("text");
Intent intent = new Intent(this, TargetActivity.class); 
intent.putStringArrayListExtra("string", value);
spec.setContent(intent);
tabHost.addTab(spec);

并将数据输入到 TargetActivity 中,例如,

Bundle extras = getIntent().getExtras();
    if (extras != null) {
        ArrayList<String> value = extras.getStringArrayList("string");
        Log.e(" array list value ", "" + value.size());
    }
于 2012-08-18T11:41:01.283 回答
0

您正在初始化一个新的 Bundle。您应该使用您存储的同一个包。

 Bundle bundle =new Bundle();

而是做

 Bundle bundle  = value;
于 2012-08-18T11:55:37.823 回答