MainActivity.java package com.example.reGISterpage; import Androi
MainActivity.java
package com.example.reGISterpage;
import Androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.ToggleButton;
import com.example.registerpage.R;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
private EditText myName;
private EditText myPwd;
private EditText myRePwd;
private ToggleButton mySex;
private EditText myBirth;
private Spinner myDegree;
private CheckBox myAccept;
private Button mySubmit;
private int myYear, myMonth, myDay;
private String mydegreeTemp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViews();
//1.设置日期事件监听器
myBirth.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) { // (1)单击日期框事件
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, DateListener, myYear, myMonth, myDay); // (1)创建DatePickerDialog对象,设置初始日期
datePickerDialog.show(); // (1)显示DatePickerDialog组件(即日期选择对话框)
}
});
//2.②设置学历下拉列表监听器
Spinner.OnItemSelectedListener listener = new Spinner.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView parent, View view, int pos, long id) {
mydegreeTemp = parent.getItemAtPosition(pos).toString();
} // (2)②将选择项字符串作为值
@Override
public void onNothingSelected(AdapterView parent) {
mydegreeTemp = "未知"; // (2)②没有选择值为未知
}
};
myDegree.setOnItemSelectedListener(listener);
}
private void findViews() {
myName = (EditText) findViewById(R.id.myEditName);
myPwd = (EditText) findViewById(R.id.myEditPwd);
myRePwd = (EditText) findViewById(R.id.myEditRePwd);
mySex = (ToggleButton) findViewById(R.id.myToggleButtonSex);
myBirth = (EditText) findViewById(R.id.myEditBirth);
myDegree = (Spinner) findViewById(R.id.mySpinnerDegree);
myAccept = (CheckBox) findViewById(R.id.myCheckBoxAccept);
mySubmit = (Button) findViewById(R.id.myButtonSubmit);
//初始化日历
Calendar calendar = Calendar.getInstance(Locale.CHINA); // (2)①创建Calendar对象
Date date = new Date(); // (2)①获取当前日期Date对象
calendar.setTime(date); // (2)①为Calendar对象设置为当前日期
myYear = calendar.get(Calendar.YEAR) - 20; // (2)①获取Calendar对象中的年
myMonth = calendar.get(Calendar.MONTH); // (2)①获取Calendar对象中的月
myDay = calendar.get(Calendar.DAY_OF_MONTH); // (2)①获取Calendar对象中的日
myBirth.setText("点击这里选择...");
//2.②初始化学历
List list = new ArrayList(); // (2)②创建字符串数组
list.add("博士"); // (2)②向字符串数组加入元素
list.add("硕士");
list.add("学士");
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, list); // (2)②创建字符串数组适配器
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //2.②
myDegree.setAdapter(adapter); // (2)②将字符串数组适配器与学历控件联系起来
}
// (1) 监听日期输入控件单击事件
private DatePickerDialog.OnDateSetListener DateListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
myYear = year; // (2)①当前选择的日期年赋值给全局年变量
myMonth = month;
myDay = day;
//更新日期
myBirth.setText(myYear + "年" + (myMonth + 1) + "月" + myDay + "日");
}
};
// (2)③myCheckBoxAccept控件单击事件
public void onCheckBoxClick(View view) {
if (myAccept.isChecked()) {
if (isValid(myRePwd)) mySubmit.setEnabled(true); // (2)③两个密码一致, “提交”按钮可用
else myAccept.setChecked(false);
} else mySubmit.setEnabled(false);
}
// (2)③判断两个密码是否一致,一致返回true,否则false
private boolean isValid(EditText editText) {
String pwd = myPwd.getText().toString();
String repwd = editText.getText().toString();
if (!repwd.equals(pwd)) {
editText.setError("两次输入不一致!"); // (2)③在密码myRePwd控件中显示错误提示
return false;
} else
return true;
}
}
如果出现代码显示红色,点击红色部分,按住Alt+Enter,将代码引入对应的class,转换一下。
--结束END--
本文标题: Android studio 安卓填写注册表单源代码 (课后练习的答案)
本文链接: https://www.lsjlt.com/news/29606.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0