小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋

关于Android的EditText焦点问题

当我们在写Android代码的时候,肯定会用到EditText控件,这是毫无疑问的。

而如果我们的EditText一多,再加上TextView的话,界面上会很不好看。所以往往会用到文本框中的默认提示信息,当我们的EditText丢失焦点时,是默认提示信息,获得焦点时,默认提示信息消失。这时我们需要对EditText进行一个监听。

如下是代码的实现:

布局文件中的代码:

<EditText android:id="@+id/edit"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		
	    android:hint="默认提示信息"
	/>

Java文件中的代码:

final String string = edit.getHint().toString();
        daysEdit.setOnFocusChangeListener(new OnFocusChangeListener(){

            public void onFocusChange(View arg0, boolean hasFocus) {
                if(hasFocus){
                	edit.setHint(null);
                }else{
                	edit.setHint(string);
                }
            }
        });

如果你只是用到以上代码,会有一个很不友好的地方,那就是在程序刚启动后,我们的第一个EditText会默认获得焦点。也就是说这个时候,第一个EditText是不会有提示信息的,而且还会弹出输入框。

这个时候我们还需要做一件事,那就是在它们的父控件中做如下设置:

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




posted on 2014-05-07 14:49  王峰炬  阅读(153)  评论(0编辑  收藏  举报

导航