在android中像是一个登陆的界面,有这样一个规则,只有用户名和密码都不为空时,登陆按钮才可用,只要一个不为空就按钮不可用。
我在OnCreate方法中这样写
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.demo02);
mbtn = (Button) findViewById(R.id.btn_test); etUsername = (EditText) findViewById(R.id.editText1);
etPassword = (EditText) findViewById(R.id.editText2);
if (etPassword.getText().length() == 0
|| etUsername.getText().length() == 0) {
mbtn.setEnabled(false);
} else {
mbtn.setEnabled(true);
}
}
运行之后Button的状态没有改变!请问要怎么写才会实现该功能?
我在OnCreate方法中这样写
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.demo02);
mbtn = (Button) findViewById(R.id.btn_test); etUsername = (EditText) findViewById(R.id.editText1);
etPassword = (EditText) findViewById(R.id.editText2);
if (etPassword.getText().length() == 0
|| etUsername.getText().length() == 0) {
mbtn.setEnabled(false);
} else {
mbtn.setEnabled(true);
}
}
运行之后Button的状态没有改变!请问要怎么写才会实现该功能?
TextWatcher txWatcher=new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s)
{
if ((etPassword.getText().length() == 0)|| (etUsername.getText().length() == 0)) {
mbtn.setEnabled(false);
} else {
mbtn.setEnabled(true);
}
}
};
etUsername.addTextChangedListener(txWatcher);
etPassword.addTextChangedListener(txWatcher);
if (etPassword.getText().equals("")|| etUsername.getText().equals("")){
....