我无法从我的应用程序中获取数据包
问题描述:
在我的应用程序中,我需要在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
错误消息..
蒙山停止使用“静态”声明我怎样才能得到这些值从捆绑在这里(在接收器活动..)
让我出来请从这里..
答
第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
我不是很确定,因为我没有测试环境,但是您可以尝试'getBundleExtra(String name)'在第二个活动中获取该包。然后使用适当的方法获取数组。 – 2013-02-22 11:41:02