用android stdio写一个两个布局界面,实现两个布局界面的三个分数成绩数据传递、计算均分,数据回传
时间: 2024-02-26 10:58:00 浏览: 69
详谈android界面之间数据的传递
5星 · 资源好评率100%
好的,我可以为您提供一些基本的代码,但是由于您的问题比较复杂,可能需要您自己进行一些代码的编写和调试。以下是一个基本的实现方法:
1. 创建两个布局文件,分别是 activity_main.xml 和 activity_second.xml。
2. 在 activity_main.xml 中添加三个 EditText 组件,用于输入三个分数成绩;同时添加一个 Button 组件,用于跳转到 activity_second.xml 界面。
3. 在 activity_second.xml 中添加一个 TextView 组件,用于显示均分;同时添加一个 Button 组件,用于将均分数据回传到 activity_main.xml 界面。
4. 在 MainActivity.java 中,定义三个 EditText 组件和一个 Button 组件,并在 Button 组件的点击事件中使用 Intent 对象跳转到 activity_second.xml 界面;同时在 onActivityResult 方法中获取从 activity_second.xml 界面返回的均分数据,并将其显示在 TextView 组件中。
5. 在 SecondActivity.java 中,获取从 MainActivity 传递过来的三个分数成绩数据,并计算均分数据,然后使用 Intent 对象将均分数据回传到 MainActivity 中。
MainActivity.java 代码如下:
```
public class MainActivity extends AppCompatActivity {
private EditText score1, score2, score3;
private Button calculateBtn;
private static final int REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
score1 = findViewById(R.id.score1);
score2 = findViewById(R.id.score2);
score3 = findViewById(R.id.score3);
calculateBtn = findViewById(R.id.calculate_btn);
calculateBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 获取三个分数成绩
int s1 = Integer.parseInt(score1.getText().toString());
int s2 = Integer.parseInt(score2.getText().toString());
int s3 = Integer.parseInt(score3.getText().toString());
// 计算均分
int average = (s1 + s2 + s3) / 3;
// 跳转到 activity_second.xml 界面
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("average", average);
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) {
int average = data.getIntExtra("average", 0);
TextView result = findViewById(R.id.result);
result.setText(String.valueOf(average));
}
}
}
```
SecondActivity.java 代码如下:
```
public class SecondActivity extends AppCompatActivity {
private Button returnBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
int average = getIntent().getIntExtra("average", 0);
TextView result = findViewById(R.id.result);
result.setText(String.valueOf(average));
returnBtn = findViewById(R.id.return_btn);
returnBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("average", average);
setResult(RESULT_OK, intent);
finish();
}
});
}
}
```
希望能帮到您!
阅读全文