android之activity间传输数据
16lz
2021-12-04
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>
更多相关文章
- Android常用控件技巧总结
- 视力测试Demo
- 使用Android系统自带的下拉刷新控件
- Android(安卓): Spinner初始化时填充默认值数据
- Android(安卓): Spinner初始化时填充默认值数据
- Android(安卓)带固定图片的EditText
- Android体验系列之--AnalogClock控件
- Android(安卓)Studio编译失败:java.util.concurrent.ExecutionExc
- Android(安卓)布局:控件放置在底部