编写androi实现 有两个Activity界面。第一个Activity上有两个文本框和一个按钮,在两个文本框中分别输入两个数字,然后点击按钮则跳转到第二个Activity,在第二个Activity中显示这个两个数字的乘积,并将乘积作为结果返回给第一个Activity。
时间: 2023-12-10 19:40:26 浏览: 159
好的,以下是实现代码:
在第一个Activity的布局文件中(activity_main.xml)添加两个EditText和一个Button:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入第一个数字"/>
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入第二个数字"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="计算"/>
</LinearLayout>
```
在第一个Activity的Java文件(MainActivity.java)中添加以下代码:
```java
public class MainActivity extends AppCompatActivity {
private EditText editText1, editText2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = findViewById(R.id.editText1);
editText2 = findViewById(R.id.editText2);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String num1Str = editText1.getText().toString();
String num2Str = editText2.getText().toString();
//将两个输入的数字转化为整型
int num1 = Integer.parseInt(num1Str);
int num2 = Integer.parseInt(num2Str);
//跳转到第二个Activity,并传递两个数字
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("num1", num1);
intent.putExtra("num2", num2);
startActivityForResult(intent, 1);
}
});
}
//接收从第二个Activity返回的结果
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
int result = data.getIntExtra("result", 0);
Toast.makeText(this, "计算结果为:" + result, Toast.LENGTH_SHORT).show();
}
}
}
```
在第二个Activity的布局文件中(activity_second.xml)添加一个TextView:
```xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="30sp"
android:gravity="center"/>
```
在第二个Activity的Java文件(SecondActivity.java)中添加以下代码:
```java
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
//获取第一个Activity传递过来的两个数字
Intent intent = getIntent();
int num1 = intent.getIntExtra("num1", 0);
int num2 = intent.getIntExtra("num2", 0);
//计算乘积
int result = num1 * num2;
//显示乘积
TextView textView = findViewById(R.id.textView);
textView.setText(String.valueOf(result));
//将乘积作为结果返回给第一个Activity
Intent intentResult = new Intent();
intentResult.putExtra("result", result);
setResult(RESULT_OK, intentResult);
}
}
```
这样就完成了两个Activity之间的数据传递和结果返回。
阅读全文