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; @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>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。