新建一个 Activity,单击图 7-7 所示界面中的一个按钮,能够启动并运行该 Activity,该Activity 会返回一些数据给 MainActivity,并且 MainActivity 能够显示返回的数据的全部代码
时间: 2024-04-29 16:23:02 浏览: 9
MainActivity.java
```
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_CODE = 1;
private TextView resultTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button startButton = findViewById(R.id.start_button);
resultTextView = findViewById(R.id.result_text_view);
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
resultTextView.setText(result);
}
}
}
```
activity_main.xml
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
tools:context="com.example.myapplication.MainActivity">
<Button
android:id="@+id/start_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Activity" />
<TextView
android:id="@+id/result_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/start_button"
android:layout_marginTop="16dp"
android:text="Result will be shown here."
android:textSize="18sp" />
</RelativeLayout>
```
SecondActivity.java
```
public class SecondActivity extends AppCompatActivity {
private EditText inputEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
inputEditText = findViewById(R.id.input_edit_text);
Button sendButton = findViewById(R.id.send_button);
sendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String result = inputEditText.getText().toString();
Intent intent = new Intent();
intent.putExtra("result", result);
setResult(RESULT_OK, intent);
finish();
}
});
}
}
```
activity_second.xml
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_second"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
tools:context="com.example.myapplication.SecondActivity">
<EditText
android:id="@+id/input_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Input some text here." />
<Button
android:id="@+id/send_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/input_edit_text"
android:layout_marginTop="16dp"
android:text="Send Result" />
</RelativeLayout>
```