zoukankan      html  css  js  c++  java
  • Android 点击EditText编辑框清除hint预设字

    MainActivity:

    /**
     * 点击EditText窗体后,清除预设字
     * @author lichao829@163.com
     *
     */
    public class MainActivity extends Activity{

     @Override
     protected void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      EditText username = (EditText)findViewById(R.id.username);
      EditText password = (EditText)findViewById(R.id.password);
      Button login = (Button)findViewById(R.id.login);
      
      /*EditText默认获取焦点行为的取消?
      解决之道:在EditText的父级控件中,
      设置: android:focusable="true" 
                  android:focusableInTouchMode="true"
         详见xml布局文件。*/

      //username焦点监听事件
      username.setOnFocusChangeListener(new OnFocusChangeListener() {
          public void onFocusChange(View v, boolean hasFocus) {
              EditText et=(EditText)v;
              if (!hasFocus) {// 失去焦点
               et.setHint(et.getTag().toString());
              } else {
                  String hint=et.getHint().toString();
                  et.setTag(hint);//保存预设字
                  et.setHint(null);
              }
          }
      });
      //password焦点监听事件
      password.setOnFocusChangeListener(new OnFocusChangeListener() {
       public void onFocusChange(View v, boolean hasFocus) {
        EditText et=(EditText)v;
        if (!hasFocus) {// 失去焦点
         et.setHint(et.getTag().toString());
        } else {
         String hint=et.getHint().toString();
         et.setTag(hint);//保存预设字
         et.setHint(null);
        }
       }
      });
      
      login.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View v) {
         // TODO Auto-generated method stub
         Toast.makeText(MainActivity.this, "登录", Toast.LENGTH_LONG).show();
        }
      });
     }
    }

    布局界面:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="8dp"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:orientation="vertical" >
        <EditText
            android:id="@+id/username"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入您的用户名"/>
        <EditText
            android:id="@+id/password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入您的密码"/>
        <Button
            android:id="@+id/login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="登录"/>

    </LinearLayout>

  • 相关阅读:
    暑假集训单切赛第二场 UVA 10982 Troublemakers
    暑假集训单切赛第一场 POJ 2309 BST(找规律的题)
    暑假集训单切赛第一场 CF 191A Dynasty Puzzles
    暑假集训单切赛第一场 CF 266E More Queries to Array(线段树+二项式展开式)
    暑假集训单切赛第一场 UVA 1737 Mnemonics and Palindromes 3
    大一暑假集训第六周第一场单切赛
    POJ 1486 Sorting Slides(寻找必须边)
    【机器学习】梯度下降法的相关介绍
    Linux下使用Tmux提高终端环境下的效率
    Fedora23安装以后要做的优化配置
  • 原文地址:https://www.cnblogs.com/Jingerxin/p/5106528.html
Copyright © 2011-2022 走看看