2013-04-20 30 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();    
    } 
});