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();
創(chuàng)建
public class DatePickerFragment extends DialogFragment {
public static final String EXTRA_DATE = "com.bignerdranch.android.criminalintent.date";
private static final String ARG_DATE = "date";
// 創(chuàng)建Fragment實例蚤假,接受Date參數(shù)為初始化要素
public static DatePickerFragment newInstance(Date date) {
Bundle args = new Bundle();
args.putSerializable(ARG_DATE, date);
DatePickerFragment fragment = new DatePickerFragment();
fragment.setArguments(args);
return fragment;
}
// 創(chuàng)建對話框
@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(/* 數(shù)據(jù) */);
dialog.setTargetFragment(/* 目標Fragment */, /* 標簽 */);
dialog.show(manager, DIALOG_DATE);
注意事項
- 使用
AppCompat
兼容庫版本的DialogFragment
和AlertDialog
能獲得長期的支持拌蜘。
- 使用
DialogFragment
來管理對話框瘪弓,可以更靈活地顯示對話框骑素。設(shè)備配置改變時罐监,直接使用對話框也會使數(shù)據(jù)丟失喉誊。
實用第三方庫
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者