2013-04-20 54 views
0

你好所有简单的问题你如何禁用提交按钮,直到编辑文本填充它是一个如果命令或东西?禁用登录按钮,直到窗体填充android sdk

b = (Button)findViewById(R.id.login); 
    et = (EditText)findViewById(R.id.username); 
    pass= (EditText)findViewById(R.id.password); 

    if (et & pass == ' ') { 

    } 

    b.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      dialog = ProgressDialog.show(Login.this, "", 
        "Validating user...", true); 
      new Thread(new Runnable() { 
        public void run() { 
         login();       
        } 
        }).start();    
     } 
    }); 
+0

http://stackoverflow.com/questions/4384890/how-to-disable-an-android-button – Orlymee 2013-04-20 01:59:52

回答

2

您可能想要做的是使用TextWatcheronTextChanged()检查以查看ea ch是空的。但是你想检查文本不是View所以不是检查etpass,你可能想要得到String

String etString = et.getText().toString(); 
String passString = pass.getText().toString(); 

如果他们不emty和null,再加上你想要的任何其他检查,如长度,然后

b.setEnabled(true); 
0

也许这是不是你要找什么,但

b.setEnabled(false);

将禁用按钮你,那么当你需要它,你可以启用它:

b.setEnabled(true);

0

为了确保用户名不为空,我们从EditTexttrim()文本从字符串的开头和结尾删除换行符,空格和制表符。然后我们检查长度是否大于0.我们对密码进行同样的检查,然后使用setEnabled(true)启用按钮功能。

b = (Button)findViewById(R.id.login); 
et = (EditText)findViewById(R.id.username); 
pass= (EditText)findViewById(R.id.password); 
b.setEnabled(false); 
if (et.getText().toString().trim().length() > 0 && 
      pass.getText().toString().length() > 0){ 
    b.setEnabled(true); 
} 

b.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     dialog = ProgressDialog.show(Login.this, "", 
       "Validating user...", true); 
     new Thread(new Runnable() { 
       public void run() { 
        login();       
       } 
       }).start();    
    } 
});