我试图将数据从一项活动发送到另一项活动。问题是我没有收到所有数据。只有3个而不是6.PS:我是android开发的新手
从中发送数据
Intent i=new Intent(getActivity(),PigeonInfo.class);
String n=p.getPigeonID();
String f=p.getFathersID();
String m=p.getMothersID();
String g=p.getGender();
String gr=p.getGroup();
String u=p.getPicURL();
i.putExtra("PID",n);
i.putExtra("FID",f);
i.putExtra("MID:",m);
i.putExtra("PGN:",g);
i.putExtra("PGR:",gr);
i.putExtra("PUR",u);
startActivity(i);
对此:
Intent i=getIntent()
e1.setText(i.getStringExtra("PID"));
e2.setText(i.getStringExtra("PGR"));
e3.setText(i.getStringExtra("PGN"));
e4.setText(i.getStringExtra("FID"));
e5.setText(i.getStringExtra("MID"));
String url= i.getStringExtra("PUR");
答案 0 :(得分:1)
对于这3行,您需要在密钥末尾添加一个额外的:
:
i.putExtra("MID:",m);
i.putExtra("PGN:",g);
i.putExtra("PGR:",gr);
但是当您从意图中检索它们时,键中不再有:
了:
e5.setText(intent.getStringExtra("MID"));
因此,您可以通过删除:
通话中多余的putExtra(...)
字符来解决此问题。
这些键中有错字是很常见的。您可以通过在两个字段中引用的静态字段中定义这些键来解决此类问题:
class Keys {
public static final String PIGEON_MID = "pigeon_mid"
}
...
intent.putExtra(Keys.PIGEON_MID, pigeon.getMid());
...
String mid = intent.getStringExtra(Keys.PIGEON_MID);
答案 1 :(得分:0)
使用getIntent()意图瞬间获取意图值 ` 第一次活动
Intent i=new Intent(getActivity(),PigeonInfo.class);
String n=p.getPigeonID();
String f=p.getFathersID();
String m=p.getMothersID();
String g=p.getGender();
String gr=p.getGroup();
String u=p.getPicURL();
i.putExtra("PID",n);
i.putExtra("FID",f);
i.putExtra("MID:",m);
i.putExtra("PGN:",g);
i.putExtra("PGR:",gr);
i.putExtra("PUR",u);
startActivity(i);
Second activity
Intent inent = getIntent();
e1.setText(intent.getStringExtra("PID"));
e2.setText(intent.getStringExtra("PGR"));
e3.setText(intent.getStringExtra("PGN"));
e4.setText(intent.getStringExtra("FID"));
e5.setText(intent.getStringExtra("MID"));
String url= intent.getStringExtra("PUR");`