【Android】AlertDialogの表示(カスタムダイアログ)

2019年7月29日

カスタムダイアログ(エディットボックス)の表示方法です。
ボタンを押すと、下記のようなダイアログを表示します。
カスタムダイアログ(エディットボックス)

●ソースコード
「R.layout.main」にボタンを配置し、
「android:onClick="BtnClick"」を設定し使用するソースです。

public EditText edtText;
public class TestDialog extends Activity {
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}
	//ボタンクリックイベント(XMLにandroid:onClickを記述)
	public void BtnClick(View v) {
		if(v.getId() == R.id.button0)
		{
			showDialog(0);
		}
	}
	@Override
	protected Dialog onCreateDialog(int id) {
		// ダイアログが複数ある場合にidを使用する
		if (id == 0) {
			edtText = new EditText(this);
			builder.setIcon(R.drawable.icon);
			builder.setTitle("カスタムダイアログ(エディットボックス)");
			builder.setView(edtText);
			builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int whichButton) {
					TextView textview1 = (TextView)findViewById(R.id.textview1);
					textview1.setText(edtText.getText().toString());
				}
			});
			builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int whichButton) {
				}
			});
			dialog = builder.create();
		}
	}
	@Override
	protected void onPrepareDialog(int id, Dialog dialog) {
		super.onPrepareDialog(id, dialog);
		if (id == 0) {
			//ダイアログの内容に変更がある場合に記述
		}
	}
}

スポンサーリンク