Java/Android/応用編/選択ダイアログの表示

Top > Java > Android > 応用編 > 選択ダイアログの表示

android応用編?

選択ダイアログの表示

AlertDialog?クラスを使った選択ダイアログの表示方法を解説します。

android_select_dialog_20090816.jpg

SampleDialogActivity?クラス

	public class SampleDialogActivity extends Activity {
	    /** Called when the activity is first created. */
	    @Override
	    public void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.main);
	    }
		@Override
		protected void onResume() {
			super.onResume();
			new AlertDialog.Builder(this)
	          .setTitle(R.string.title)
	          .setItems(R.array.fruit,
	           new DialogInterface.OnClickListener() {
	        	  String[] fruits = getResources().getStringArray(R.array.fruit);
	              public void onClick(DialogInterface dialoginterface,
	                    int i) {
	            	  AlertDialog.Builder dlg = new AlertDialog.Builder(SampleDialogActivity.this);
	            	  dlg.setTitle("select").setMessage("選択されたのは、"+fruits[i]+"です").show();
	            	  
	              }
	           })
	          .show();		      
		}
	}

AlertDialog?.BuilderクラスのsetItemsメソッドを使い、選択項目となるarrays.xmlのリソースIDを渡す

layout/arrays.xml

	<resources>
	<array name="fruit">
		<item>@string/apple_label</item>
		<item>@string/orange_label</item>
		<item>@string/banana_label</item>
	</array>
	</resources>

選択項目はarrays.xmlで定義
getResources().getStringArray?(R.array.fruit)より、文字列配列を取得する際、上からString配列[0,1,2・・]でセットされる

values/strings.xml

	<resources>
		<string name="hello">Hello World, SampleDialogActivity!</string>
		<string name="app_name">SampleDialog</string>
		<string name="title">選択ダイアログ</string>
		<string name="apple_label">リンゴ</string>
		<string name="orange_label">みかん</string>
		<string name="banana_label">ばなな</string>
	</resources>

使用する文字列を定義する。

以上 簡単に作ることができます。
AlertDialog?は、名前から見ると「警告用のダイアログ?」と思いがちだが、いろいろな事ができ、いろいろな場面で使えそうです。

android開発のご相談は、こちらまでお問い合わせください。

最終更新日: 2009-09-26 (土) 16:25:04 (2734d)

添付ファイル: fileandroid_select_dialog_20090816.jpg 710件 [詳細]

このページをブックマーク:

このページのURL(コピペして利用下さい):

TOP