首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

当 EditText 空值时,EditText 却没法获得焦点和弹窗软键盘

2013-11-20 
当 EditText 空值时,EditText 却无法获得焦点和弹窗软键盘EditText 没有值是请问怎么 获得焦点 弹出软键盘

当 EditText 空值时,EditText 却无法获得焦点和弹窗软键盘
EditText 没有值是请问怎么 获得焦点 弹出软键盘?

由于是注册页面,第一次加载不想启动软键盘和焦点!所以我在 所有EditText的父级添加了


            android:focusable="true"
            android:focusableInTouchMode="true"


可以达到加载后 不获取焦点和软键盘弹窗。

我希望填写了信息之后判断了每一个EditText的值,在没有输入值的EditText 使其获得焦点 弹出软键盘!
以下是我的做法:

public class Reg extends Activity implements OnClickListener {
private Dialog dialog;
String mc;// 名称
String u;// 用户名

EditText u_mingcheng,u_user;

protected void onCreate(Bundle savedInstanceState) {
// TODO 自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.reg);
//
u_mingcheng = (EditText) findViewById(R.id.u_mingcheng);
u_user = (EditText) findViewById(R.id.u_user);



private void reg() {
mc = u_mingcheng.getText().toString();
u = u_user.getText().toString();


if (u_mingcheng.length() == 0 || u_user.length() == 0 ) {

if(u_mingcheng.length()== 0){
u_mingcheng.requestFocus();//获取焦点
u_mingcheng.requestFocusFromTouch();
System.out.println("1");
}

return;

}


以上是部分代码!

System.out.println("1"); 有执行到,但是 u_mingcheng 获取不到焦点 和 弹软键盘。
[解决办法]
UI绘画没有完成前获取焦点是无效的,所以别把reg放在oncreate方法里面,或者延迟几秒执行。

热点排行