您的位置:首页 > 移动开发 > Android开发

Android 控件之对EditText的详细解读

2015-12-04 17:33 260 查看
安卓常用控件之对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;

@Override
protected 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() {
// 设置监听事件
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String value = editText.getText().toString().trim();
// 获取输入的值并转化为字符串类型 trim()作用是去空格
// 然后验证得到的是否为空
if (value == null || value.equals("")) {
editText.setError("请输入用户名");
return;
}
}
});

// 监听键盘事件 以enter为例
editText.setOnKeyListener(new OnKeyListener() {
// 设置OnKeyListener 注意要导入相应的包ctrl+shift+o,选第一个
@Override
public boolean onKey(View arg0, int keyCode, KeyEvent arg2) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_ENTER) {// KEYCODE_ENTER
// 每个键对应一个值
Toast.makeText(MainActivity.this, "回车键", 1).show();
// 捕获键盘事件 进行下一步,这里以toast简单为例
}
return false;
}
});

}

@Override
public 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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: