在我的应用程序中,我需要在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
错误消息..
使用“静态”声明如何从捆绑中获取这些值(在接收器活动中..)
请允许我这样做..
答案 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