我无法从我的应用程序中获取数据包

问题描述:

在我的应用程序中,我需要在Intent方法的帮助下,将Activity上的二维数组和另外两个整数值形式发送给另一个。 这是为完成..我无法从我的应用程序中获取数据包

 Intent i = new Intent(getApplicationContext(), ViewActivity.class); 
      Bundle postbundle = new Bundle(); 
      String[][] X={{"abc"},{"def"}}; 
      postbundle.putSerializable("data", X); 
      i.putExtra("A", postbundle); 

      i.putExtra("albumid", position); 
      i.putExtra("Bigcard",bigcard); 

这里是使用.putSerializable方法将一个阵列的线束。

所以访问接收机活动,这些数据现在用

 Bundle bundle = getIntent().getBundleExtra("A");  
    String[][] ABC=(String[][]) bundle.getSerializable("data"); 
    Log.e("Array is",""+ABC); 

但我得到java.lang.NullPointerException错误消息..

蒙山停止使用“静态”声明我怎样才能得到这些值从捆绑在这里(在接收器活动..)

让我出来请从这里..

+0

我不是很确定,因为我没有测试环境,但是您可以尝试'getBundleExtra(String name)'在第二个活动中获取该包。然后使用适当的方法获取数组。 – 2013-02-22 11:41:02

第1步:写一个单独的bean类,并保存到另一个文件

public class MyBean implements Serializable{ 
String[][] data = null; 
public void set2DArray(String[][] data){ 
    this.data = data; 
} 
public String[][] get2DArray(){ 
    return data; 
} 
} 

步进2:在呼叫活动

 Intent intent = new Intent(this, Second.class); 

    String data[][] = new String[][] {{"1","kumar"},{"2","sona"},{"3","kora"},{"1","pavan"},{"2","kumar"},{"3","kora333"}}; 
    MyBean bean = new MyBean(); 
    bean.set2DArray(data); 
    Bundle b = new Bundle(); 
    b.putSerializable("mybean", bean); 
    intent.putExtra("obj", b); 
    startActivity(intent); 

步骤-3:在呼叫者活性

 Bundle b = getIntent().getBundleExtra("obj"); 
     MyBean dData = (MyBean) b.getSerializable("mybean"); 
     String[][] str =dData.get2DArray(); 

不是一个真正的答案,但一试:

如果尝试会发生什么:

Intent intent = getIntent(); 
    int a = intent.getIntExtra("albumid"); //if Your value is an int, otherwise use String 
              //getStringExtra or whatever Your value is 
+0

它的好处,但在这里我的要求是“访问二维数组......即数据” – 2013-02-23 04:34:58