用Android帮我设计一个程序。要求如下1. 该 APP 实现的功能是北林电子本科生毕业去向意愿调研 2. 主页面 Page1 包含 4 个按钮,分别为“基本信息”、“我的志愿”、“保存”、“加载”和“退 出”。还有一个本文显示框,用来显示我的基本信息+志愿。 3. 点击“我的信息”,进入第二个页面 Page2,包含四个文本输入框,分别为“班级”、“姓 名”、“学号”、“家乡”,用户可输入内容。还有一个单选按钮“性别:男/女”,默认选 项为“男”。包含两个按钮“清空”和“确认”。点击“清空”按钮,4 个文本输入框的内容 均被清空;点击“确认”按钮,若用户信息填写完整,返回到主页面 Page1,同时将 用户填写的内容返回显示,若用户信息填写不完整,Toast 弹出提示,页面不跳转。 4. 点击主页面 Page1 的“我的志愿”按钮,进入第三个页面 Page3,包含一个单选框, 可选内容包含:保研、考研、出国、工作、创业、二学位、其他,默认选择为“考研”。 还包含一个文本输入框,让用户文本输入目标的执行计划。还包含一个按钮“确定”。 点击“确定”按钮,返回主页面 Page1,同时将用户选择项及文本输入信息返回显示。
时间: 2023-12-26 21:05:33 浏览: 80
好的,我可以为您提供相关的Android程序设计帮助。以下是基本的程序结构和代码实现:
1. 创建项目和页面:
在Android Studio中创建一个新项目,并创建三个Activity页面:Page1、Page2和Page3。在Page1的布局XML文件中添加四个按钮和一个文本框。
2. 添加点击事件:
在Page1的Java文件中添加对应的按钮点击事件,例如基本信息按钮的点击事件:
```
Button btnInfo = (Button) findViewById(R.id.btn_info);
btnInfo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Page1.this, Page2.class);
startActivityForResult(intent, REQUEST_CODE);
}
});
```
其中,REQUEST_CODE为一个请求码,用于接收返回结果时的判断。
3. 实现信息输入:
在Page2的布局XML文件中添加四个文本输入框和一个单选按钮,以及两个按钮:清空和确认。在Page2的Java文件中添加对应的按钮点击事件,例如确认按钮的点击事件:
```
Button btnConfirm = (Button) findViewById(R.id.btn_confirm);
btnConfirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String className = ((EditText) findViewById(R.id.et_class)).getText().toString();
String name = ((EditText) findViewById(R.id.et_name)).getText().toString();
String studentID = ((EditText) findViewById(R.id.et_id)).getText().toString();
String hometown = ((EditText) findViewById(R.id.et_hometown)).getText().toString();
String gender = ((RadioButton) findViewById(R.id.rb_male)).isChecked() ? "男" : "女";
if (className.isEmpty() || name.isEmpty() || studentID.isEmpty() || hometown.isEmpty()) {
Toast.makeText(Page2.this, "请填写完整信息", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent();
intent.putExtra("className", className);
intent.putExtra("name", name);
intent.putExtra("studentID", studentID);
intent.putExtra("hometown", hometown);
intent.putExtra("gender", gender);
setResult(RESULT_OK, intent);
finish();
}
}
});
```
在确认按钮的点击事件中,获取四个文本框和单选按钮的值,并判断是否为空。如果为空,则弹出Toast提示用户;如果不为空,则将这些值放入Intent中,并使用setResult()方法返回主页面,并关闭当前页面。
4. 实现志愿选择:
在Page3的布局XML文件中添加一个单选框和一个文本输入框,以及一个按钮:确定。在Page3的Java文件中添加对应的按钮点击事件,例如确定按钮的点击事件:
```
Button btnConfirm = (Button) findViewById(R.id.btn_confirm);
btnConfirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String plan = ((EditText) findViewById(R.id.et_plan)).getText().toString();
String choice = ((RadioButton) findViewById(R.id.rb_apply)).isChecked() ? "保研" :
((RadioButton) findViewById(R.id.rb_postgraduate)).isChecked() ? "考研" :
((RadioButton) findViewById(R.id.rb_abroad)).isChecked() ? "出国" :
((RadioButton) findViewById(R.id.rb_work)).isChecked() ? "工作" :
((RadioButton) findViewById(R.id.rb_start_business)).isChecked() ? "创业" :
((RadioButton) findViewById(R.id.rb_second_degree)).isChecked() ? "二学位" :
((RadioButton) findViewById(R.id.rb_other)).isChecked() ? "其他" : "";
if (choice.isEmpty()) {
Toast.makeText(Page3.this, "请选择一个选项", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent();
intent.putExtra("plan", plan);
intent.putExtra("choice", choice);
setResult(RESULT_OK, intent);
finish();
}
}
});
```
在确定按钮的点击事件中,获取文本输入框和单选框的值,并判断是否为空。如果为空,则弹出Toast提示用户;如果不为空,则将这些值放入Intent中,并使用setResult()方法返回主页面,并关闭当前页面。
5. 处理返回结果:
在Page1的Java文件中重写onActivityResult()方法,以处理从Page2和Page3返回的结果,并将结果显示在文本框中。
```
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String className = data.getStringExtra("className");
String name = data.getStringExtra("name");
String studentID = data.getStringExtra("studentID");
String hometown = data.getStringExtra("hometown");
String gender = data.getStringExtra("gender");
String plan = data.getStringExtra("plan");
String choice = data.getStringExtra("choice");
String info = "班级:" + className + "\n姓名:" + name + "\n学号:" + studentID + "\n家乡:" + hometown + "\n性别:" + gender + "\n志愿:" + choice + "\n执行计划:" + plan;
((TextView) findViewById(R.id.tv_info)).setText(info);
}
}
```
在onActivityResult()方法中,获取从Page2和Page3传回的数据,并将数据拼接成字符串,然后将字符串显示在主页面的文本框中。
以上就是实现这个Android程序的基本流程和代码示例。
阅读全文