使用意图传递数据之通用方式。
测试应用:当前页面点击button传递数据到一个新的页面显示在textview中。
首先在,mainActivity.xml文件中加入一个button按钮
<Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="测试使用Intent传递数据" > </Button>
然后在,MainActivity.java中加入
private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);//加载布局文件 button=(Button)this.findViewById(R.id.button);//获取button button.setOnClickListener(new View.OnClickListener() {//点击button事件 @Override public void onClick(View v) { // TODO Auto-generated method stub //创建意图 Intent intent=new Intent(Main.this, OtherActivity.class); //在意图中传递数据 intent.putExtra("name", "张三"); intent.putExtra("age", 21); intent.putExtra("address", "北京"); //启动意图 startActivity(intent); } }); // Log.i(TAG, "onCreate methos is executed"); }
在布局文件中,新建一个other.xml文件。
<TextView android:id="@+id/msg" android:layout_width="fill_parent" android:layout_height="fill_parent" > </TextView>
然后新建一个OtherActivity.class 并加入
private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.other); textView = (TextView)this.findViewById(R.id.msg);//获取文本框 Intent intent = getIntent();//获取意图对象 Integer age = intent.getIntExtra("age", 0);//获取意图对象数据 String name = intent.getStringExtra("name"); //获取意图对象数据 String address = intent.getStringExtra("address");//获取意图对象数据 textView.setText("age--->>"+age+" "+"name--->>"+name+" "+"address--->>"+address);//设置到文本框 }
最后不要忘记在清单文件中加入OtherActivity。
<activity android:name=".OtherActivity"></activity>