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

时间:2013-02-22 11:08:14

标签: android android-layout android-intent

在我的应用程序中,我需要在Intent方法的帮助下,在Activity to Another上发送一个二维数组和另外两个整数值。 这是作为..

     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。

所以要在接收器Activity中使用

访问这些数据
     Bundle bundle = getIntent().getBundleExtra("A");       
    String[][] ABC=(String[][]) bundle.getSerializable("data");
    Log.e("Array is",""+ABC);

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

使用“静态”声明如何从捆绑中获取这些值(在接收器活动中..)

请允许我这样做..

2 个答案:

答案 0 :(得分:1)

步骤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();

答案 1 :(得分:0)

不是真正的答案,而是尝试:

如果你尝试会发生什么:

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