標籤:android activity 傳輸資料
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;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化布局檔案中控制項到邏輯控制檔案中findView();//聲明意圖(計劃),從哪一個Acivity傳遞到另外哪一個Activityfinal 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) {//轉到下一個activityMainActivity.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;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test);findView();//得到前一個Activity傳遞的IntentIntent intent = getIntent();String username = intent.getStringExtra("username");//得到前一個activity封裝在intent中的bundleBundle 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>