..
それはボタンがなく、画面から削除する方法がないため、実際にアプリケーションをブロックするため、明らかに前の章のような構造を持つアラートダイアログは非常に有用ではありません。
ボタンall'AlertDialogを追加する前に、しかし、あなたは私たちがユーザーによってクリックされたボタンに応じて異なるメッセージを書き込む先となるTextViewオブジェクトを追加する必要があります。
TextViewの加算は読者への課題として残されている。
ボタンとアラートダイアログのリスナーの関連付けを追加するために、単に次のと前の章で記述されたコードを置き換えます:
AlertDialog.Builder miaAlert AlertDialog.Builder =新しい(この);
miaAlert.setMessage("追加したボタンの動作を検証する!");
miaAlert.setTitle("MrWebMasterのアラートダイアログ");
miaAlert.setCancelable(偽);
miaAlert.setPositiveButton("はい"、新しいのDialogInterface.OnClickListener(){
します。public void onClickの(DialogInterfaceのダイアログは、int id)を{
tv.setText("私はYESボタンをクリック");
}
});
miaAlert.setNegativeButton("いいえ"、新しいのDialogInterface.OnClickListener(){
します。public void onClickの(DialogInterfaceのダイアログは、int id)を{
tv.setText("私はNOボタンをクリック");
}
});
アラートダイアログmiaAlert.create警告=();
Alert.show();
に関してはコードの最初の3行はinquantoは前章で示したものと同一であるものを説明する必要はありません。 我々は見つけるのコードの分析と今後の見通し携帯電話の戻るボタンを無効にする効果を持ってして、アラートダイアログを閉じるには、2つのボタンのいずれかをクリックする必要がメソッド呼び出しsetCanceble(偽)、。
我々は実際のボタンの作成に渡すということ。 最初のボタンは、入力としてボタンとリスナーの内容として画面上に表示される文字列を受け取るメソッドのsetPositiveButtonを使用して作成されます。 我々が見ることができるようにリスナーがDialogInterface.OnClickListenerの新しいインスタンスとしてではなくView.OnClickListenerの新しいインスタンスとして宣言されています。 この事実は、要素eriditano ビューのクラスにのみ適用することができ、アラートダイアログは、このクラスを継承していないが、それらはパッケージのandroid.appの一部なので、あなたはDialogInterfaceのようなリスナーを使用する必要があります。
実際には、この差はsostanzianzialeではない、実際には、この場合には、OnClickメソッドをオーバーライドする必要があります、そして我々は二つのボタンを作成したい動作のためにコードを挿入します。 我々が見ることができるようにOnClickメソッドは、入力として2つのパラメータを取ります:一つは入力しアラートダイアログ(リスナーの活性化を引き起こした原因を知らせるダイアログ)と押されたボタンを識別するIDのオブジェクトです。 ちょうどTextViewのテレビ上のテキストを変更するにはOnClickメソッドの内部に行く。
OnClickメソッドの構造は、私たちリスナーの最適化バージョンを示唆している。 実際にはアラートダイアログには、リスナーをトリガし、アラートで、どのボタンがクリックされたか、あなたがより多くのアラートダイアログと関連するボタンを処理する1つのリスナーを作成できるかを知ること。 これは、単に属性のダイアログで最初のスイッチを実行して (アラートダイアログがリスナーをトリガしたかを特定できるの)とアラートダイアログ上に各ケースで達成されます考慮アラートダイアログ上のどのボタンを把握するために別のスイッチを入れ、それはクリック。
それは、リスナーのこの新しい実装は基本的には、このガイドの前の章で見られるものと非常に類似していることを読者への課題として残されている。
| |
ASPゼロ(電子ブック)
ゼロから、マイクロソフトのASPとVBScriptを学習。 わずか29€で。 |
| |
HTML(コース)
29€からWeb用のマークアップ言語。 |
| |
PHP(コース)
動的なWebサイトを作成するためのフルコース。 49€から。 |