2012-06-04 57 views
0

我有點掙扎着一些editText:S我想檢查一些條件,如果用戶填寫了一個字段或不:我的代碼似乎不工作。editText上的條件

代碼:

...

 input.setText("rrr"); 
    input2.setText("rrr"); 

    AlertDialog.Builder builder = new AlertDialog.Builder(ctx); 

    builder.setCancelable(true); 
    builder.setTitle("Add a friend"); 
    builder.setMessage("Fill in the fields you know :"); 

    builder.setView(layout); 

    builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 

      if(input.getEditableText() != null && input2.getEditableText() != null && input3.getEditableText() != null){ 

       Dialog d = new Dialog(ctx); 
       d.setTitle("BLiBLiBLi !"); 
       d.show(); 

      }else if(input.getEditableText() != null && input2.getEditableText() != null && input3.getEditableText() == null){ 

       Dialog d = new Dialog(ctx); 
       d.setTitle("BLABLABLA !"); 
       d.show(); 

      } 

...

,你可以看到,第2場是,有一個setText( 「RRR」);但不是第三個...... 所以第二個條件應該指出(如果我不填寫第三個輸入),我應該得到BLABLABLA消息,但我總是得到BLiBLiBLi:'((這只是一個測試當然:p)

我已經嘗試改變input.getEditableText()!= null與input.getEditableText()。toString!=「」或設置輸入像這樣input.setText(「」);或input.setText(null);:它只是不工作我總是在第一個條件,認爲我的所有領域已經填補了一些東西:S

Est ce que quelqu'un une uneidée? ca parait tellement basique mais je tourne en rondlà:S

+1

可能因爲它不爲空,它是一個空字符串。你有沒有嘗試設置一個斷點並檢查其價值? –

+0

我想你想要的是檢查edittext是否爲空,不是嗎? – Huang

+0

請在您的舊問題中標記正確的答案。 – Sam

回答

1

只是檢查每個EditText文本的長度。這將你想要做什麼......

if(input.getText().toString().length() > 0 && input2.getText().toString().length() > 0 && input3.getText().toString().length() > 0){ 

    Dialog d = new Dialog(ctx); 
    d.setTitle("BLiBLiBLi !"); 
    d.show(); 

} else if(input.getText().toString().length() > 0 && input2.getText().toString().length() > 0 && input3.getText().toString().length() == 0) { 

    Dialog d = new Dialog(ctx); 
    d.setTitle("BLABLABLA !"); 
    d.show(); 
} 
0

你想要的代碼是檢查字符串的長度中的EditText

if(EditText.getText().length() > 0){ 
    do something here if text exists 
    }else{ 
    do something else here if empty 
     } 
0

你應該改變你的input.getText() != nullinput.getText().toString().equals("")。如果EditText字段爲空,則表示它包含一個空字符串(text =「」),而不是null。

最簡單的和「最漂亮」這樣做的方法是使用TextUtils.isEmpty()

0

你好你可以試試也這樣。

EditText usernameEditText = (EditText) findViewById(R.id.editUsername); 
    sUsername = usernameEditText.getText().toString(); 
    if (sUsername.matches("")) { 
    Toast.makeText(this, "You did not enter a username",Toast.LENGTH_SHORT).show(); 
    return; 
}