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();
}
}
※関連コンテンツ