Android中Intent传递多个整数仅单个生效问题求助
问题分析与解决办法
你遇到的问题很典型——你创建了两个独立的Intent对象,并且分别启动了两次目标页面,这就导致每次启动时只有一个参数被传递,最后一次启动的Intent会覆盖前一次的(或者说你当前看到的页面其实是第二次启动的,只携带了"deger"参数)。
正确的发送端写法
你应该只创建一个Intent实例,把两个参数都添加进去,然后只调用一次startActivity():
// 仅创建一个Intent对象 Intent i = new Intent(getApplicationContext(), fight_1.class); // 一次性添加所有需要传递的参数 i.putExtra("deger2", ana_ekran_arti1_int); i.putExtra("deger", ana_ekran_can_int); // 仅启动一次目标页面 startActivity(i);
接收端代码无需修改
你的接收端代码本身没有问题,只要发送端正确传递了两个参数,就能正常获取到:
int i = getIntent().getIntExtra("deger", -1); int ii = getIntent().getIntExtra("deger2", -1); arti1 = ii; fight_1_arti1.setText(arti1 + "");
简单来说,核心就是不要重复创建Intent和调用startActivity,把所有需要传递的数据都封装到同一个Intent里,一次性完成跳转即可解决问题!
内容的提问来源于stack exchange,提问作者Alper Göktepe
相关产品推荐
相关产品推荐

