0

ポップアップダイアログで向きを変更すると、DatePickerダイアログを使用するだけで、エラーが発生します。向きの変更を無効にするにはどうすればよいですか?

public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

    private Task mTask;
    private static final String DIALOG_DATE = "Date";
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current date as the default date in the picker
        int year;
        int month;
        int day;

        final Calendar c = Calendar.getInstance();
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day = c.get(Calendar.DAY_OF_MONTH);



        return new DatePickerDialog(getActivity(), this, year, month, day);
    }
4

1 に答える 1

1

DialogFramgent 内で show() をオーバーライドし、呼び出されたときにアクティビティの向きを無効にします。DilagFragment に DismissListener を実装させ、onDismiss が呼び出されたときに向きを再度有効にします。

@Override
public void show(FragmentManager fm, String tag) {
 getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
 super.show(fm, tag);
}
于 2013-06-02T08:04:20.237 に答える