★17.ダイアログ
2119 ワード
AlertDialog.Builder
DialogFragment
作成
表示
Dialog 【Todo】
注意事項は、
ユーティリティサードパーティライブラリ直接持って行きます!いくつかのよくあるDialog、怠け者は必ず を受け取ります
Dialog d = new AlertDialog.Builder(getActivity())
.setView(/* View */)
.setTitle(/* String */)
.setPositiveButton(android.R.string.ok, (dialog, which) -> {
// do something
})
.setNegativeButton(android.R.string.cancel, (dialog, which) -> {
// do something
})
.create();
DialogFragment
作成
public class DatePickerFragment extends DialogFragment {
public static final String EXTRA_DATE = "com.bignerdranch.android.criminalintent.date";
private static final String ARG_DATE = "date";
// Fragment , Date
public static DatePickerFragment newInstance(Date date) {
Bundle args = new Bundle();
args.putSerializable(ARG_DATE, date);
DatePickerFragment fragment = new DatePickerFragment();
fragment.setArguments(args);
return fragment;
}
//
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setView(/* View */)
.setTitle(/* String */)
.setPositiveButton(android.R.string.ok, (dialog, which) -> {
// do something
})
.setNegativeButton(android.R.string.cancel, (dialog, which) -> {
// do something
})
.create();
}
}
表示
FragmentManager manager = getFragmentManager();
DatePickerFragment dialog = DatePickerFragment.newInstance(/* */);
dialog.setTargetFragment(/* Fragment */, /* */);
dialog.show(manager, DIALOG_DATE);
Dialog
注意事項
AppCompat
互換ライブラリバージョンのDialogFragment
およびAlertDialog
を使用して、長期的なサポートを受けることができます.DialogFragment
を使用してダイアログを管理し、ダイアログをより柔軟に表示できます.デバイス構成が変更されると、ダイアログボックスを直接使用してもデータが失われます.ユーティリティサードパーティライブラリ