Android中Intent传值
16lz
2021-12-04
1 使用intent.putExtra 传递int ,String 值
传值界面
Intent intent = new Intent(Morning.this, NoonActivity.class);intent.putExtra("name", "小牧");intent.putExtra("age",10);startActivity(intent);
接受值介面
String name = getIntent().getStringExtra("name"); int age = getIntent().getIntExtra("age",0);
需要注意的是getIntExtra(name,defaultValue) ,name就是对应传值界面的key值,defaultValue是自己取的一个默认值,就是
如果没有传递int值 默认值就会显示了,
2 我们也可以使用Intent 传bean 数据
例如一个 bean如下
package com.hly.skip;import java.io.Serializable;public class SkipBean implements Serializable{ private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; }}
传值界面代码如下
SkipBean skipBean = new SkipBean(); skipBean.setName("小牧"); skipBean.setSex("男"); Intent intent = new Intent(SkipActivity.this,SkipTwoActivity.class); intent.putExtra("msg",skipBean); startActivity(intent);
接受值界面
SkipBean msg = (SkipBean) getIntent().getSerializableExtra("msg"); Toast.makeText(this, msg.getName()+","+msg.getSex(), Toast.LENGTH_SHORT).show();
3 使用Bundle
传值界面
Intent intent = new Intent(Morning.this, NoonActivity.class); Bundle bundle = new Bundle(); bundle.putString("name", "小牧"); bundle.putInt("age",10); intent.putExtras(bundle); startActivity(intent);
这个intent使用的putExtras 后面多一个s ,跟intent不一样
接收值界面
Bundle nbundle = getIntent().getExtras(); String name = nbundle.getString("name"); int age = nbundle.getInt("age");
4 使用bundle 传递bean
首先需要写一个bean 如下
package com.hly.progressbar;import java.io.Serializable;public class Person implements Serializable { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}
传值界面
private void initView() { final Person person = new Person(); person.setName("小牧"); person.setAge(18); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Morning.this, NoonActivity.class); Bundle mBundle = new Bundle(); mBundle.putSerializable("value", person); intent.putExtras(mBundle); startActivity(intent); } }); }
接收值界面
Person person = (Person) getIntent().getSerializableExtra("value"); Log.e("========xiaomu",person.getName()); Log.e("========xiaomu",person.getAge()+"");
更多相关文章
- 箭头函数的基础使用
- NPM 和webpack 的基础使用
- Python list sort方法的具体使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- Best Practice For Android
- Android自动提示--AutoCompleteTextView、MultiAutoCompleteText
- 使用android模拟器需要的设置(环境变量设置
- Android(安卓)studio 自带的 LoginActivity 连接MySQL 实现登录
- android style的使用