• 我们先在MainActivity中添加一个按钮
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.lightless.android_intent.MainActivity"
    tools:ignore="MergeRootFrame" >
 
    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" /> 
</FrameLayout>
  • 我们的目的是点击这个Button后跳转到另一个Activity中。于是乎我们就要新建一个OhterActivity类来充当另一个Acitvity。之后在这个OtherActivity的布局文件中增加一个TextView,用于显示从MainActivity跳转过来时接收到的数据。
<TextView
    android:id="@+id/msg"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</TextView>
  • 接下来就要在MainActivity中,点击按钮时传递intent了。
        button = (Button)this.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(MainActivity.this, OtherActivity.class);
 
                // pass data via intent
                intent.putExtra("name", "Lightless");
                intent.putExtra("age", 20);
                intent.putExtra("address", "Beijing");
 
                // start intent
                startActivity(intent);
            }
        });

那个button必然是通过private Button button;获得的。

  • 在OtherActivity中接受通过intent传递过来的数据
        setContentView(R.layout.other);
 
        textview = (TextView)this.findViewById(R.id.msg);
        Intent intent = getIntent();
        int age = intent.getIntExtra("age", 0);
        String name = intent.getStringExtra("name");
        String address = intent.getStringExtra("address");
 
        textview.setText("age: " + age + "\nname: " + name
                + "\naddress: " + address);
  • 最后,不要忘记在清单文件中增加Activity的“声明”。
        <activity android:name=".OtherActivity" >
        </activity>