在Android版本2.3中无法使用DialogFragment的显示方法

时间:2014-01-18 10:27:21

标签: datepicker show timepicker dialogfragment

我在我的应用程序中使用DatePicker和Time Picker但是在使用它时遇到错误。

请参阅下面的代码:

public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener 
{
    public Dialog onCreateDialog(Bundle savedInstanceState) 
    {
        // Use the current date as the default date in the picker
        final Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH);
        int day = c.get(Calendar.DAY_OF_MONTH);
        return new DatePickerDialog(getActivity(), this, year, month, day);
    }

    public void onDateSet(DatePicker view, int year, int month, int day) 
    {
        tv_date_value.setText(String.valueOf(day) + "/" + String.valueOf(month + 1) + "/" + String.valueOf(year));
    }
}

这是我在谷歌搜索后导入的包:

import android.support.v4.app.DialogFragment;

当我尝试创建DialogFragment的对象并使用show()方法时出现问题,它说:

DialogFragment类型中的方法show(FragmentManager,String)不适用于参数(FragmentManager,String)

以下是代码:

DialogFragment newFragment = new DatePickerFragment();
newFragment.show(myActivity.getFragmentManager(), "datePicker");

我在show()方法上遇到错误。

我在类中使用此日期和时间选择器而不是活动,因此我提供了名为“myActivity”的主要活动类的引用。

有人可以帮我吗???

谢谢, 大卫。

2 个答案:

答案 0 :(得分:0)

尝试使用getActivity()。getSupportFragmentManager()

答案 1 :(得分:0)

使用以下代码:

android.app.FragmentManager fragmentManager=getActivity().getFragmentManager();
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(fragmentManager,"datepicker");