我想下面的数组传递给我的接收
类相同的格式,并把它拿来相同的格式,即数组应保持其结构。
curDts =新的String [] [] {{1,2,3},{},{4,5,6 }};
以下是我试过到目前为止,
意向意图=新的意图(这一点,AlarmReceiver.class);
的for(int i = 0; I< curDts.length;我++){
对于(INT J = 0; J< curDts [I] .length; J ++){
intent.putExtra(日期+ I,+ curDts [I] [J] +');
Log.v(发送,'+ curDts [I] [j]的+',);
}
}
的for(int i = 0; I< 12;我++){
Log.v(,+ arg1.getExtras()的getString(日期+ I));
}
解决方案
的String []是序列化的对象,以及字符串[] [],这意味着你可以简单地使用现成方法的意图意图.putExtra(键,serializableObject)
,并在您接收端,你可以说 intent.getSerializableExtra(KEY);
如果您一直在寻找。什么
编辑
要通过你的数据确实是这样的:
[对象] objArr =新的对象[] {新的String [] {2},新的String [] {5}};
intent.putExtra(日期,objArr);
和中检索它们:
私人的BroadcastReceiver mBroadcastReceiver =新的BroadcastReceiver(){
@覆盖
公共无效的onReceive(上下文的背景下,意图意图){
[对象] OBJ =(对象[])intent.getSerializableExtra(日期);
如果(OBJ!= NULL){
的for(int i = 0; I< obj.length;我++){
的String []对象=(字符串[])目标文件[I]
Log.d(的getClass()getSimpleName(),OBJ:+反对[0]);
}
}
}
};
I want to pass the following array to my receiver
class in the same format and fetch it in same format i.e the array should maintain its structure.
curDts= new String[][] {{"1","2","3"}, {}, {"4","5","6"}};
Following is what I have tried so far,
Intent intent = new Intent(this, AlarmReceiver.class);
for(int i = 0; i<curDts.length ; i++){
for(int j = 0; j<curDts[i].length; j++){
intent.putExtra("date"+i,"'"+curDts[i][j]+"',");
Log.v("sending","'"+curDts[i][j]+"',");
}
}
for(int i=0; i<12; i++){
Log.v("",""+arg1.getExtras().getString("date"+i));
}
解决方案
String[] are serializable objects as well as String[][] that means you can simply use the ready method in the intent intent.putExtra(key,serializableObject)
, and on your receiver side you could say intent.getSerializableExtra(KEY);
if that what you was looking for.
Edited
To pass your data do something like :
Object[] objArr = new Object[]{ new String[]{"2"} ,new String[]{"5"}};
intent.putExtra("dates", objArr);
and to retreive them :
private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Object[] obj = (Object[]) intent.getSerializableExtra("dates");
if(obj != null){
for (int i = 0; i < obj.length; i++) {
String[] object = (String[])obj[i];
Log.d(getClass().getSimpleName(), "OBJ : " + object[0]);
}
}
}
};