Android(安卓)studio 安卓填写注册表单源代码 (课后练习的答案)
activity_mian.xml
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;
@Overrideprotected 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,否则falseprivate 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,转换一下。
更多相关文章
- Android(安卓)Handler Message 传递字符串
- 操作json的工具类
- 使用DatePicker以及TimePicker显示当前日期和时间
- Android(安卓)APP修改全局字体
- Android(安卓)SimpleDateFormat 日期时间格式 系统设置12_24小时
- Ubuntu下Android(安卓)JNI初步学习之——搭建相关环境和测试Demo
- Android时间选择器和日期选择器的使用注意
- Android(安卓)OpenGL ES 绘图 -- 热力图
- Android(安卓)通过Base64上传图片到服务器实现实例