zoukankan      html  css  js  c++  java
  • 关于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"




  • 相关阅读:
    类别category 总结
    autorelease理解
    NSAutoreleasePool drain release的区别
    ios 文件管理 目录
    关于autorelease pool一个较好的理解
    iOS中四种实例变量的范围类型@private@protected@public@package
    批量删除
    会话用法 和留言板例题
    运用php做投票题,例题
    php 封装
  • 原文地址:https://www.cnblogs.com/fengju/p/6336166.html
Copyright © 2011-2022 走看看