实现DialogFragment方法

  1. 创建DialogPickerFragment类
  2. 创建AlertDialog
  3. 通过FragmentManager在屏幕上显示对话框

## 创建DialogFrgment

在屏幕上显示DialogFrgment时,托管Activity的FragmentManager会调用以下方法:

public Dialog onCreateDialog(Bundle savedInstanceState)

1.2.

1
2
3
4
5
6
7
8
9
public class FragmentDataPicker extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setTitle(R.string.date_picker_title)
.setPositiveButton(android.R.string.ok,null)
.create();
}
}

3.

1
2
3
4
5
6
7
8
9
10
mDateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm=getActivity()
.getSupportFragmentManager();

FragmentDataPicker dialog=new FragmentDataPicker();
dialog.show(fm,DIALOG_DATE);
}
});

android有三种用于对话框的按钮:positive按钮,negative按钮和neutral按钮。

设置对话框的显示内容

1
2
3
4
5
6
7
8
View v=getActivity().getLayoutInflater()
.inflate(R.layout.dialog_date,null);

return new AlertDialog.Builder(getActivity())
.setView(v)
.setTitle(R.string.date_picker_title)
.setPositiveButton(android.R.string.ok,null)
.create();