先说明的我的本意,一个activity页面上,两个按钮b1,b2,点击b1进入activity1,得到数据name1,返回到activity,此时activity页面上显示出了图片,然后点击b2进入activity2,选中得到数据name2,同样返回到activity的页面,因为我要根据这两个返回来的数据写一个对比算法,但是现在一个intent取两个数据报空指针的错误,我研究半天了,不知道怎么解决,或者有没有其他的思路,至为感谢!
下面是activity里的intent主要实现段:
intent = this.getIntent();
bundle = intent.getExtras();
name1 = bundle.getString("name1");
name2 = bundle.getString("name2");
System.out.println(name1);
if(name1.equals("zhaoyun")){
insertPicture1.insertDrawable(R.drawable.zhaoyun);
}
if(name2.equals("machao")){
insertPicture2.insertDrawable(R.drawable.machao);
}非常感谢!!!android指针图片java
下面是activity里的intent主要实现段:
intent = this.getIntent();
bundle = intent.getExtras();
name1 = bundle.getString("name1");
name2 = bundle.getString("name2");
System.out.println(name1);
if(name1.equals("zhaoyun")){
insertPicture1.insertDrawable(R.drawable.zhaoyun);
}
if(name2.equals("machao")){
insertPicture2.insertDrawable(R.drawable.machao);
}非常感谢!!!android指针图片java
if(b!=null&&b.containsKey(key)){
String str=b.getString(key);
}
intent = this.getIntent();
bundle = intent.getExtras();
System.out.println("Test"+bundle.containsKey(name1));//返回false
System.out.println(bundle.getString("name1"));//打印zhaoyun,有结果
if(bundle!=null&&bundle.containsKey(name1)){
name1 = bundle.getString("name1");
if(name1.equals("zhaoyun")){
insertPicture1.insertDrawable(R.drawable.zhaoyun);
System.out.println("Yse");
}
}但是为什么bundle.containsKey(name1)会返回false?
是两个不同的activity各传一个值给同一个activity
你可以这样做,从第一个Activity返回来以后,把name1保存起来。从第二个Activity返回的时候,把name2取出来和保存的name1比较。
bundle = intent.getExtras();
name1 = bundle.getString("name1");
name2 = bundle.getString("name2");
System.out.println(name1);
if("zhaoyun".equals(name1)){
insertPicture1.insertDrawable(R.drawable.zhaoyun);
}else if("machao".equals(name2)){
insertPicture2.insertDrawable(R.drawable.machao);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
String result = data.getExtras().getString(“result”));//得到新Activity 关闭后返回的数据
} ,具体使用方法你可以去看下开发文档或者搜下例子。比你现在使用的那种方法要简单得多