-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());
    }

そしてタブバーセットインテント様

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 =new Bundle();

代わりに

 Bundle bundle  = value;
于 2012-08-18T11:55:37.823 に答える