1

我在我的应用程序中使用 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”的主活动类的引用。

任何人都可以在这里帮助我吗???

谢谢,大卫。

4

2 回答 2

0

尝试使用 getActivity().getSupportFragmentManager()

于 2015-03-15T05:29:11.630 回答
0

使用下面的代码:

android.app.FragmentManager fragmentManager=getActivity().getFragmentManager();
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(fragmentManager,"datepicker");
于 2017-05-02T13:45:52.360 回答