概述
- 分别使用Intent和Bundle实现组件间的数据传递。
- Intent
FirstActivity
Intent( , )第一个参数代表启动活动的上下文,第二个参数指定想要启动的目标活动。startActivity();用于启动活动,将构建好的Intent传入startActivity()方法就可以启动目标活动。通过intent.putExtra( , )方法传递一个字符串,第一个参数相当于名,第二个参数才是真正要传输的数据。
button.setOnClickListener(new View.OnClickListener() {//生成监听器并绑定监听器
@Override
public void onClick(View view) {
Intent intent = new Intent(Main2Activity.this,Second.class);
intent.putExtra("com.example.alvin.myapplication2.name", "Tom");
//数据传递
startActivity(intent);//启动活动
}
});
SecondActivity
通过getintent()方法获取到用于启动SecondActivity的Intent,然后调用
getStringExtra()方法传入相应的名字,就可以得到相应数据了,如果传递的
是整型则用getIntExtra()方法。text.setText(str);用于接收并显示str的
值。
text = (TextView)findViewById(R.id.textView);
Intent intent = getIntent();
String str = intent.getStringExtra("com.example.alvin.myapplication2.name");
//取出数据
text.setText(str);
- Bundle
FirstActivity
Intent( , )第一个参数代表启动活动的上下文,第二个参数指定想要启动的目标活动。startActivity();用于启动活动,将构建好的Intent传入startActivity()方法就可以启动目标活动。通过bundle.putString( , )方法传递一个字符串。通过bundle.putInt( , )方法传递一个整型数。Inten.putExtras(bundle)用于传bundle中所有的数据。
button.setOnClickListener(new View.OnClickListener() {//生成监听器并绑定监听器
@Override
public void onClick(View view) {
Intent intent = new Intent(Main2Activity.this,Second.class);
Bundle bundle = new Bundle();
bundle.putString("name","John");
bundle.putInt("age", 30);
intent.putExtras(bundle);//数据传递
startActivity(intent);
}
});
SecondActivity
通过intent.getExtras()方法获得bundle所有属性。通过getString("name")和
getInt("age")就可以得到相应数据了,text.setText(name+age)用于接收并显示
他们的值。
Bundle bundle = intent.getExtras();
String name = bundle.getString("name");
int age = bundle.getInt("age");
text.setText(name +" "+ age);
最后
以上就是精明铃铛为你收集整理的Intent和Bundle传输数据的全部内容,希望文章能够帮你解决Intent和Bundle传输数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复