首页 > 代码库 > android之activity间传输数据
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>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。