Goodroid

GoodroidはAndroidアプリ開発のための情報をコラムやブログで紹介するサイトです。


ダイアログでラジオボタンを表示する
ここではダイアログでラジオボタンを表示する方法を確認していきます。

AlertDialogにラジオボタンを表示するには、「 setSingleChoiceItems 」メソッドを使用します。
第一引数には表示したいデータ配列を、第二引数にはデフォルトで選択したい項目を指定しています。

サンプルではラジオボタンにチェックを入れるとトーストで値を表示しています。

Dialog3Activity.java
package goodroid.sample.dialog3;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class Dialog3Activity extends Activity implements OnClickListener {

    final String[] items = {"Data1", "Data2", "Data3", "Data4"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // main.xmlからボタンオブジェクトを取得
        Button btn = (Button)findViewById(R.id.button);

        // ボタンにリスナーを設定
        btn.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
 	new AlertDialog.Builder(Dialog3Activity.this)
	.setTitle("データを選択してください")
	.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
	    public void onClick(DialogInterface dialog, int item) {
	    	callToast(item);
	    }
	})
	.setNegativeButton("閉じる", new DialogInterface.OnClickListener() {
	    public void onClick(DialogInterface dialog, int id) {
	        dialog.cancel();
	   }
	})
	.show();
    }

    // トースト呼び出し
    public void callToast(int i){
	Toast.makeText(this, items[i] + "が選択されました", Toast.LENGTH_SHORT).show();
    }
}

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="ダイアログ表示" />

</LinearLayout>

実行結果

4857 views | コメント:0 | 2012-07-22
コメント
まだこの記事にコメントはありません
コメントの投稿
名前 (必須)

メールアドレス (非公開)

本文(必須)

パスワード (必須)
(半角数字4桁)