MainActivity如下:
package com.example.helloworld;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button main_button1 = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化布局文件中控件到逻辑控制文件中
findView();
//声明意图(计划),从哪一个Acivity传递到另外哪一个Activity
final Intent intent = new Intent(this, TestActivity.class);
//往Intent中存放简单参数
intent.putExtra("username", "i am little android");
//往Intent中存放bundle对象
Bundle bundle = new Bundle();
bundle.putString("password", "123456");
intent.putExtras(bundle);
//采取匿名函数为按钮设置单击事件
main_button1.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
//转到下一个activity
MainActivity.this.startActivity(intent);
}
});
}
/**
* Activity创建时初始化控件
*/
private void findView(){
main_button1 = (Button) findViewById(R.id.main_button1);
}
}
MainActivity布局如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/main_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="38dp"
android:text="传递数据到TestActivty" />
</RelativeLayout>
TestActivity如下:
package com.example.helloworld;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class TestActivity extends Activity{
private TextView tv1_test = null;
private TextView tv2_test = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
findView();
//得到前一个Activity传递的Intent
Intent intent = getIntent();
String username = intent.getStringExtra("username");
//得到前一个activity封装在intent中的bundle
Bundle bundle = intent.getExtras();
String password = (String) bundle.get("password");
tv1_test.setText(username);
tv2_test.setText(password);
}
/**
* Activity创建时初始化控件
*/
private void findView(){
tv1_test = (TextView) findViewById(R.id.test_tv1);
tv2_test = (TextView) findViewById(R.id.test_tv2);
}
}
TestActivity布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@android:color/white">
<TextView
android:id="@+id/test_tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/test_tv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
AndroidManifest.xml文件中别忘了配置activity
<activity
android:name="com.example.helloworld.MyMainActivity"
android:label="@string/title_activity_my_main" >
</activity>
<activity
android:name="com.example.helloworld.TestActivity">
</activity>