2010-12-05 15 views
1

私はAlertDialog.BuilderにOKボタン、Cancelボタン、およびEditTextを持っています。私はユーザーが「OK」を押して実際にEditTextに何かを入力するまでダイアログを閉じるのを防ぎたい。条件が満たされるまでAlertDialog.Builderを破棄しないようにします。

どちらのボタンを押してもダイアログが自動的に消えるようです。私が条件を満たすまで、灰色/ OKボタンを無効にする方法はありますか?

私はこれを達成するためのカスタムダイアログを実装する必要があると思っています。誰にでもアイデアはありますか?ありがとう!

答えて

1

私は、別のアクティビティのためにアラートダイアログをスクラッチしました。

マニフェストでダイアログテーマのアクティビティを使用して、ダイアログボックスの外観を表示し、ビューをXMLレイアウトに配置し、必要な機能のビューを手作業でコーディングしました。

1

ダイアログボックスのように表示され、前のアクティビティの上部に浮かぶactivityForResultを作成できます。そこで、EditTextが塗りつぶされるまでボタンを無効にすることができます。

+0

私はうまくいくと思いますが、基本的にはダイアログのアクティビティを実行する作業に行きます.AlertDialogをスクラッチすることもできます。 – user432209

+0

あなたはAlertdilogから継承して、タイトルとそれ以外のメソッドを使って、あなたのレイアウトをレイアウトに入れることができます... – codeScriber

0

私はちょうど建築業者を経由しました。 ビルダーのようにレイアウト自体にアクセスできない場合は、問題の可能性があります。 AlertDialogを継承し、独自のボタンとビヘイビアを設定することができます。2つの単純なレイアウトボタンとtextEditはテキストエディタ上にTextWatcherを持っていますので、txteditの長さが0でない場合、okボタンは無効になり、cancelable = falseのダイアログが表示されます。

関連する問題