栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Intent使用Bundle传递数据-代码编写错误

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Intent使用Bundle传递数据-代码编写错误


从IntentActivity1跳转到IntentActivity2,错误代码

//IntentActivity1中的相关代码
public void onClick(View v) {
  Intent intent = new Intent();
  intent.setClass(IntentActivity1.this, IntentActivity2.class);
  Bundle bundle = new Bundle();
  bundle.putSerializable("PersonContent", p);
  intent.putExtra("aaa",bundle);
  startActivity(intent);
     }
//IntentActivity2中的相关代码
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.layout_intent_activity_2);
 Intent intent=getIntent();
 Bundle bundle=intent.getBundleExtra("PersonContent");
 Person p=(Person)bundle.getSerializable("PersonContent");
 mTextView.setText("姓名:"+p.getPersonName()+"n密码:"+p.getPassWD()+"n性别:"+p.getSex());    
    }

运行程序提示有空指针。发现的问题有:
1.intent.putExtra("aaa",bundle);中的aaa一直没有被使用到,可见程序本身就有问题。其实Intent.putExtra的参数可以直接是Bundle,Intent.putExtra(Bundle bundle)。
2.问题1修改后,提示Person p=(Person)bundle.getSerializable("PersonContent");有空指针。修改Bundle bundle=intent.getBundleExtra("PersonContent"); Person p=Person)bundle.getSerializable("PersonContent");为Person p= (Person) intent.getSerializableExtra("PersonContent");后程序正常运行
3.问题2修改后,发现值没有传到IntentActivity2。

修改后的代码为:

//IntentActivity1中的相关代码
public void onClick(View v) {
  Intent intent = new Intent();
  intent.setClass(IntentActivity1.this, IntentActivity2.class);
  Bundle bundle = new Bundle();
  bundle.putSerializable("PersonContent", p);
  intent.putExtra(bundle);
  startActivity(intent);
     }
//IntentActivity2中的相关代码
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.layout_intent_activity_2);
 Intent intent=getIntent();
 Person p= (Person) intent.getSerializableExtra("PersonContent");
 mTextView.setText("姓名:"+p.getPersonName()+"n密码:"+p.getPassWD()+"n性别:"+p.getSex());    
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/233850.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号