Android中Intent传值
生活随笔
收集整理的這篇文章主要介紹了
Android中Intent传值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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() {@Overridepublic 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()+"");
?
?
總結
以上是生活随笔為你收集整理的Android中Intent传值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 画上印章是翰墨主不知道是谁画的啊?
- 下一篇: 求一个好听的日语女生名字。