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:andro/>

</LinearLayout>

 

相关文章:

  • 2022-12-23
  • 2021-06-15
  • 2021-11-18
  • 2021-12-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-01
  • 2022-12-23
  • 2021-05-17
  • 2021-11-15
  • 2021-08-11
  • 2021-08-11
相关资源
相似解决方案