getExtras()返回的是Bundle的对象,我来给楼主写个小例子,你一看就懂了:
现在我们要从MainActivity跳转到SecondActivity,并且携带一个参数过去,那么MainActivity里跳转界面的代码这样写:
Intent intent=new Intent(this,SecondActivityclass);Bundle bundle=new Bundle();
bundleputString("test", "楼主采纳我吧");
intentputExtras(bundle);
startActivity(intent);
可以看到new出了一个bundle,在bundle里面放置了一个key为"test",值为"楼主采纳我吧"的键值对,然后把bundle放到intent里,intent携带了一个bundle对象,就开始跳转界面了,那么在SecondActivity里接收参数,就应该这么写:
String params=thisgetIntent()getExtras()getString("test");这时候params的值就是“楼主采纳我吧”。
requestCode是用来在主页面回收子页面的消息用的在主页面中重写:protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == YOUR_REQUEST_CODE) {//这里填写你的requestcode if (resultCode == RESULT_OK) { //你要执行的任务 } } } }在子页面重写 public void onBackPressed(){// 按下返回键的事件 superonBackPressed(); setResultCode(RESULT_OK);}如果你想从主页面向子页面传数据 ,请给intent里面添加数据即可android:主页面startactivityforresult(intent,requestCode)跳转后子页面如何得到requestCode这个值
你确定有没有再传过去?如果这个方法放在onCreate()中的话就是不行的,因为它只执行一下,你按返回后这个方法是不会再次执行的,你把这个方法写在onResume()中看一下,这个方法是每一次回到activity都会执行一次的你可以学一下关于activity的生活周期函数方法
String字符串不能用==号判断是否相等,==号比较的是对象地址
如
String str1 = new String("a");
String str2 = new String("a");
Systemoutprintln(str1==str2);
结果
java中判断对象相等应该使用equal方法,这个是Object的方法,需要重写
还是上面的代码
输出Systemoutprintln(str1equals(str2));
结果为true
以上就是关于getExtras()是不是得到intent传来的信息的意思android开发全部的内容,包括:getExtras()是不是得到intent传来的信息的意思android开发、android:主页面startactivityforresult(intent,requestCode)跳转后子页面如何得到requestCode这个值、android中activity多次通过intent传值的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)