DialogFragment.onCreateDialog

DialogFragmentで、ダイアログを作る方法は2種類ある。
ひとつは、onCreateViewでダイアログ内部のレイアウトを作りViewを返すというもの。
strings.xmlで、

ActivityのButton1、Fragmentの中のButton1、TextView1。
fragment_custom_dialog.xmlで、

Fragment側にTextViewとButtonを配置。
activity_main.xmlで、

Activity側はButtonだけ。
CustomDialogFragment.javaで、

package com.bgstation0.android.sample.dialogfragment_;

import android.app.DialogFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class CustomDialogFragment extends DialogFragment {

	// ビュー生成時.
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
		
		// レイアウトからビュー生成.
		return inflater.inflate(R.layout.fragment_custom_dialog, container);	// infalter.inflateでR.layout.fragment_custom_dialogを元にビューを作成し, 返す.
		
	}
	
}

onCreateView内で、R.layout.fragment_custom_dialogから、Viewを作成して返す。
(onCreateViewはDialogFragment派生じゃなくて、Fragment派生なのね。)
MainActivity.javaで、

CustomDialogFragmentにしたぐらいで変わってない。

起動時
起動時

起動時。
Buttonを押すと、

レイアウトに指定したTextView1とButton1が配置されたダイアログ
レイアウトに指定したTextView1とButton1が配置されたダイアログ

レイアウトに指定したTextView1とButton1が配置されたダイアログが表示される。
Button1は押しても何も起きない。

もうひとつの方法は、onCreateDialogの中で、AlertDialogでもDialogでも生成して、返すというもの。

DialogFragment  |  Android Developers

onCreateDialogを使う場合、

onCreateViewはコメントアウト
AlertDialogにして、PositiveButton押されたら"OK"とToast表示。

起動時
起動時

起動時。
Button押すと、

レイアウト関係なくしっかりとしたAlertDialog
レイアウト関係なくしっかりとしたAlertDialog

レイアウト関係なくしっかりとしたAlertDialog。
OK押すと、

"OK"とToast表示
"OK"とToast表示

ダイアログが閉じられて、"OK"とToast表示。

Sample/android/DialogFragment/onCreateDialog/src/DialogFragment at master · bg1bgst333/Sample · GitHub