如何将2D Array作为参数传递给另一个Activity?

时间:2012-09-14 10:19:20

标签: android

如何将2D数组作为参数传递给另一个Activity?我尝试堆叠流量解决方案,但使用此代码不工作  in activity 1正确显示此行bundle.putSerializable(“xmlResponee”,xmlRespone)中的值; 但是在activity2类中没有showe值有什么不对?请告诉我

public class Activity1 extends Activity {

  private String[][] xmlRespone;
  Intent i = new Intent(this.getApplicationContext(), Activity2.class);
  Bundle bundle = new Bundle();
  bundle.putSerializable("xmlResponee", xmlRespone);
  i.putExtras(bundle);
  startActivity(i);

public class Activity2 extends Activity {

   private String[][] xmlRespone;
   public void onCreate(Bundle savedInstanceState) {                
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity2);
      Bundle bundle = getIntent().getExtras();

      String[][] xmlRespone2 = (String[][]) bundle.getSerializable("xmlResponee");

3 个答案:

答案 0 :(得分:0)

您可以使用私有String [] [] xmlRespone创建一个静态类。在第一个活动中,您可以为其分配值,而在另一个活动中,您可以从中调用数据..

活动A --->静态类X --->活动B.

答案 1 :(得分:0)

嘿,只需使用Parcelable个对象在android活动之间传递对象。

这是一个非常棒的example。我想这是你想要达到的目标。

答案 2 :(得分:0)

你可以把它直接放在意图上,不需要捆绑。

Intent intent = new Intent();
intent.putExtra("MyXML", xmlRespone);

并阅读:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        Intent intent = getIntent();
        String[] xmlRespone = intent.getStringArrayExtra("MyXML");
    }