ダイアログを表示させる時にリストのスタイルでダイアログを出現させる事ができる。
使い方としては、sppiner(Spiner(コンポーネント)を使う。)のような使い方も可能です。
ボタンの機能を単純にして、スクリプトで選択肢を制御する事ができる為に幅広いデザイン対応ができます。
こちらはOK,NG,CANCELなど役割に応じたボタンではない為に、全てをスクリプトで制御する事ができます。
スクリプトで制御を行う為にボタンのイベントを追加していきます。。
イベントをActivityで制御する為にimplementsではDialogInterface.OnClickListenerを追加する。イベント実行のファンクションは下記のような形になります。
package in.andante.android.makealert; import java.nio.charset.Charset; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.widget.TextView; public class MakeAlert extends Activity implements DialogInterface.OnClickListener{ /** Called when the activity is first created. */ public AlertDialog _alertDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } public void onResume(){ super.onResume(); CharSequence[] _char = {"list1","list2","lsit3"}; _alertDialog = new AlertDialog.Builder(this) .setTitle("タイトル") .setCancelable(false) .setItems(_char, this).show(); } @Override public void onClick(DialogInterface dialog, int which) { if(_alertDialog == dialog){ TextView _tv = new TextView(this); switch(which){ case 0: _tv.setText("0を選んだ"); break; case 1: _tv.setText("1を選んだ"); break; case 2: _tv.setText("2を選んだ"); break; } setContentView(_tv); } } }
上記では、配列の制御をスクリプト内で行っておりますが、xmlでの制御でも簡単に扱えます。