GUI、再び! (2/7)
作成:2010-06-17 10:51
更新:2010-06-17 10:52
更新:2010-06-17 10:52
■アラートダイアログの表示
トーストは、勝手に消えてしまいますから、もっとしっかりとユーザーに伝えたい!というときは、やはりアラートダイアログを使ったほうが良いでしょう。アラートダイアログは、画面に小さいダイアログウインドウを表示するもので、これはほぼ同様のものがパソコンでも多用されていますね。
アラートダイアログは、「AlertDialog」というクラスにそのための機能が用意されているのですが、実はnew AlertDialogしてそのまま使うことができません。AlertDialogはコンストラクタがProtectedになっており、勝手にインスタンスをぼこぼこ作れないようになっているのです。
では、どうするのか。実は、AlertDialogには、「Builder」というNested Classes(入れ子クラス)が用意されており、これを利用するようになっているのです。これは以下のように呼び出します。
作成されたAlertDialog.Builderは、まだ何も表示が設定されていませんから、まず表示するテキストを設定してやります。
以下に簡単なサンプルをあげておきましょう。アプリを起動すると、画面にアラートダイアログが現れます。これはボタンなどはないので、「戻る」ボタンを押して消してください。見た目はトーストと似ていますが、こちらはユーザーが操作して消すまでずっと表示されています。重要なメッセージはこちらを使うべきでしょう。
アラートダイアログは、「AlertDialog」というクラスにそのための機能が用意されているのですが、実はnew AlertDialogしてそのまま使うことができません。AlertDialogはコンストラクタがProtectedになっており、勝手にインスタンスをぼこぼこ作れないようになっているのです。
では、どうするのか。実は、AlertDialogには、「Builder」というNested Classes(入れ子クラス)が用意されており、これを利用するようになっているのです。これは以下のように呼び出します。
AlertDialog.Builder 変数 = new AlertDalog.Builder( [Context] );引数には、アラートを表示するContextを指定します。これは、まぁ普通は「this」を渡せばいいと考えてよいでしょう。
作成されたAlertDialog.Builderは、まだ何も表示が設定されていませんから、まず表示するテキストを設定してやります。
[AlertDialog.Builder].setMessage( 表示するテキスト );引数に表示するテキストを指定することで、メッセージが設定されます。後は、トーストと同じように「show」メソッドを呼び出して画面に表示するだけです。
以下に簡単なサンプルをあげておきましょう。アプリを起動すると、画面にアラートダイアログが現れます。これはボタンなどはないので、「戻る」ボタンを押して消してください。見た目はトーストと似ていますが、こちらはユーザーが操作して消すまでずっと表示されています。重要なメッセージはこちらを使うべきでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
package jp.tuyano; import android.app.*; import android.os.Bundle; import android.view.Window; public class SampleApp extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("これはアラートのテストです。"); builder.show(); } }
※関連コンテンツ