2015-12-15 152 views
-2

我已經創建註冊頁面,它看起來像這樣按鈕能見度填充

Registration Form

現在,所有細節後,我的要求是,我要讓下一頁按鈕將是可見的只有當用戶填好填寫表格中的所有細節。我怎樣才能做到這一點?

+0

不,這不是那麼簡單,問題比你想象的要複雜得多。沒有任何觸發它將無法正常工作,我想知道應該是什麼觸發器。 –

+0

這就是我期待的,作爲一名Android新手,我不知道這一點,反正感謝您的幫助。 –

回答

5

您需要使用EdittextaddTextChangedListener()作爲您要驗證的所有表單字段,檢查所有edittext是否有文本。

入住這一切EditText.addTextChangedListener().布爾all_data_filled_up()方法您可以檢查所有字段填寫或沒有(也可以在添加其他驗證)。

edtMail.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
       //check for all edittext data 
       if(all_data_filled_up()) 
       enable button 
     } 
    }); 
+1

這工作,謝謝 –

3

通過編程可以通過

findYiewById(R.id.next_button).setVisibility(View.INVISIBLE); 

設置按鈕無形的或者在XML佈局文件中只需添加

android:visibility="invisible" 

前面已經評論說,你應該檢查是否所有的EditText字段填寫並那麼你可以設置按鈕可見

findViewById(R.id.next_button).setVisibility(View.VISIBLE) 

要檢查所有的EditText都充滿了你可以實現一個onFocusChange監聽器在OnCreate中通過存款準備金率

0

描述:

yourButton.setVisibility(View.INVISIBLE); 
yourButton.setEnabled(false); 

作出檢查一個mothodo如果一些EditText上是空並檢查用戶時在一些EditText中插入一個字符:

boolean VariableBoolea; 
if(EditText1 == null || EditText2 == null || EditText3 == null){// you can use a foreach too 
    VariableBoolean = false; //or you can initialize it false and do anything here 
} 
else{ 
    VariableBoolean = true; 
} 

if(someVariableBoolean == true){ 
    yourButton.setVisibility(View.VISIBLE); 
    yourButton.setEnabled(true); 
} 

所以當用戶在一些EditText中放置一個字符時,您會調用methodo。