作者:平凡的如果爱166 | 来源:互联网 | 2023-10-10 23:46
安卓常用控件之对EditText的详细解读
包含获取输入的值以及简单校验,监听键盘事件以及简单处理。
不近乎文件中添加一个EditText控件和一个按钮,直接贴出Activity代码:
package com.example.edittexterror;import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class MainActivity extends Activity {private Button button;private EditText editText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) this.findViewById(R.id.button1);button.setText(R.string.button1);editText = (EditText) this.findViewById(R.id.editText1);button.setOnClickListener(new View.OnClickListener() {// 设置监听事件@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubString value = editText.getText().toString().trim();// 获取输入的值并转化为字符串类型 trim()作用是去空格// 然后验证得到的是否为空if (value == null || value.equals("")) {editText.setError("请输入用户名");return;}}});// 监听键盘事件 以enter为例editText.setOnKeyListener(new OnKeyListener() {// 设置OnKeyListener 注意要导入相应的包ctrl+shift+o,选第一个@Overridepublic boolean onKey(View arg0, int keyCode, KeyEvent arg2) {// TODO Auto-generated method stubif (keyCode == KeyEvent.KEYCODE_ENTER) {// KEYCODE_ENTER// 每个键对应一个值Toast.makeText(MainActivity.this, "回车键", 1).show();// 捕获键盘事件 进行下一步,这里以toast简单为例}return false;}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
效果图如下:
如果不输入直接提交则会报错,输入过程中出现回车就会弹出toast。