ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: Android Studio : 複数選択ダイアログ
名前: lightbox
処理選択
パスワード

件名 Android Studio : 複数選択ダイアログ
名前 lightbox
コメント
@HTML
<img src="https://lh3.googleusercontent.com/-KfcP_GJdiiM/VgU67RNz5GI/AAAAAAAAb1k/tRp4r5WfxYQ/s400-Ic42/_img.png" style="border: solid 1px #000000">
@HEND

@DIV
package sample.lightbox.checkboxdialog1;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.util.SparseBooleanArray;
import android.view.View;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		MainActivity.this.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				Log.i("lightbox", "クリックされました");

				String[] list_data = @c:red({"大阪", "東京", "名古屋", "岡山"};)
				final boolean[] list_flg = {false, false, false, false};

				AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
				builder.setTitle("回転するとリセット");

				builder.setMultiChoiceItems(list_data, list_flg, null);

				builder.setNegativeButton("キャンセル", new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {
						Log.i("lightbox", "キャンセルされました");

					}
				});
				builder.setPositiveButton("選択完了", new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {
						Log.i("lightbox", "選択されました");

						SparseBooleanArray sba = ((AlertDialog) dialog).getListView().getCheckedItemPositions();
						Log.i("lightbox", sba.size() + "");
						// 選択された行の処理
						for (int i = 0; i < sba.size(); i++) {
							
							int idx_data = sba.keyAt(i);
							String target = ((AlertDialog) dialog).getListView().getAdapter().getItem(idx_data).toString();
							Log.i("lightbox", target + "(" + idx_data + ")");

						}

					}
				});
				builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
					@Override
					public void onCancel(DialogInterface dialog) {
						Log.i("lightbox", "キャンセルされました2");

					}
				});

				@c:red(builder.setCancelable)(true);
				builder.create().show();

			}
		});

	}


}
@END