Intent在Activity之间传递值
Activity之间的跳转在上一篇,不做赘述。点击查看详细教程
已经创建好了项目,写好了布局,实现了跳转,重点是如何实现Intent在Activity之间传值。
通过Intent在Activity之间传值,实现计算,另一个 界面显示结果。
1.取得EditText控件的值,取出的值是string类型的
2.将两个值放入intent对象中
3.使用这个intent对象启动下一个Activity
class ButtonListener implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//取得两个EditText控件的值
String number1str=number1.getText().toString();
String number2str=number2.getText().toString();
//将这两个值放到Intent对象中
Intent intent =new Intent();
intent.putExtra("one", number1str);
intent.putExtra("two", number2str);
//使用这个intent对象启动下一个Activity
intent.setClass(Activity01.this,Activity02.class);
Activity01.this.startActivity(intent);
}
}
在Activity02中接收数据并处理,输出:
package com.example.test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class Activity02 extends Activity {
private TextView TextView2;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity02);
//1.接收传递过来的值
//2.计算结果
//3.显示结果
TextView2=(TextView)findViewById(R.id.TextView2);
Intent intent=getIntent();
String str1=intent.getStringExtra("one");
String str2=intent.getStringExtra("two");
int num1=Integer.parseInt(str1);
int num2=Integer.parseInt(str2);
int result =num1*num2;
TextView2.setText(result+"");
}
}
其中包含字符串到数字之间的转换问题,应该注意。