未接收到putextra()发送的所有值

问题描述 投票:0回答:2

我试图将数据从一项活动发送到另一项活动。问题是我没有收到所有数据。仅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");
android
2个回答
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");`

0
投票

对于这三行,您在键的末尾添加一个额外的:

                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);
© www.soinside.com 2019 - 2024. All rights reserved.