2012-02-21 20 views

答えて

4

あなたはEDITTEXTのafterTextChange方法チェックテキストでこれを達成するためにtextchangeListenerを使用して、次のように長さ設定に応じて、[OK]ボタンを有効または無効にできます。警告ダイアログのレイアウトをカスタマイズし

editText.addTextChangedListener(new TextWatcher() { 
         public void afterTextChanged(Editable s) { 
           //XXX do something 
           if(editText.getText().length()>0) 
            btnOk.setEnabled(true); 
           else 
            btnOk.setEnabled(false); 
         } 
         public void beforeTextChanged(CharSequence s, int start, int count, 
int after) { 
           //XXX do something 
         } 
        public void onTextChanged(CharSequence s, int start, int before, int count) { 
          //XXX do something 
        } 
    }); 
+0

カスタムレイアウトが必要ですか?またはAlertDialogのデフォルトのokボタンにアクセスする方法がありますか? – ycomp

+0

ダイアログのデフォルトボタンでもできます:alertDialog.getButton(whichButton).setEnabled(enabled); – jeet

+0

**将来の読者のために:**問題があります。showButtonが呼び出される前に、getButton()はAPI7(2.2で修正)でnullを返します。ソリューションコールshow()を最初に呼び出す... http://goo.gl/amxhY、http://goo.gl/UbGNg – ycomp

1

使用します。 ex:

Dialog dialog = new Dialog(this); 
      dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 

      dialog.setContentView(R.layout.your_layout_name); 
      //sample for getting view id... 

      //TextView dialogbody=(TextView) dialog.findViewById(R.id.dialogbody); 
関連する問題