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>

 

posted on 2016-01-06 18:04  Jinger1992223  阅读(1737)  评论(0编辑  收藏  举报