实验二:Android stutio实现Activity数据传递和回传
本次实验需要两个界面来回传递
activity_main.xml文件代码:
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="接受返回值实例"
android:textSize="17dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="10dp"
tools:layout_editor_absoluteX="15dp"
tools:layout_editor_absoluteY="25dp" />
<Button
android:id="@+id/button"
android:layout_width="350dp"
android:layout_height="62dp"
android:layout_marginTop="35dp"
android:layout_margin="35dp"
android:text="打开第二个界面" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二个数据:"
android:layout_marginTop="110dp"
android:layout_marginLeft="20dp"
android:textSize="17dp"
tools:layout_editor_absoluteX="6dp"
tools:layout_editor_absoluteY="224dp" />
<TextView
android:id="@+id/textView3"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_marginLeft="150dp"
android:layout_marginTop="110dp"
android:text="" />
</RelativeLayout>
activity_main2.xml文件代码:
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context=".Main2Activity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是第二个界面"
android:layout_marginLeft="20dp"
android:layout_marginTop="40dp"
android:textSize="17dp"
tools:layout_editor_absoluteX="15dp"
tools:layout_editor_absoluteY="25dp" />
<Button
android:id="@+id/button1"
android:layout_width="62dp"
android:layout_height="62dp"
android:text="返回"
android:layout_marginTop="150dp"
android:layout_marginLeft="20dp"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="16dp"
tools:layout_editor_absoluteY="126dp" />
<EditText
android:id="@+id/data1"
android:layout_width="377dp"
android:layout_height="55dp"
android:ems="10"
android:layout_marginTop="90dp"
android:layout_marginLeft="20dp"
android:inputType="textPersonName"
tools:layout_editor_absoluteX="15dp"
tools:layout_editor_absoluteY="58dp" />
</RelativeLayout>
MainActivity.java文件代码:
package com.example.a86761.datazdj;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView tv3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv3 = findViewById(R.id.textView3);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivityForResult(intent,1);
}
});
}
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == 2) {
String data1 = data.getStringExtra("data");
tv3.setText(data1);
}
}
}
Main2Activity.java文件代码:
package com.example.a86761.datazdj;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Main2Activity extends AppCompatActivity {
EditText tv;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
tv = findViewById(R.id.data1);
Button button1 = findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
String data1 =tv.getText().toString();
Intent intent = new Intent();
intent.putExtra("data",data1);
setResult(2,intent);
finish();
}
});
}
}
运行结果: