【问题标题】:Show method for DialogFragment not working in Android Version 2.3DialogFragment 的显示方法在 Android 版本 2.3 中不起作用
【发布时间】:2014-01-18 10:27:20
【问题描述】:

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

有人可以帮我吗???

谢谢, 大卫。

【问题讨论】:

    标签: datepicker show timepicker dialogfragment


    【解决方案1】:

    尝试使用 getActivity().getSupportFragmentManager()

    【讨论】:

      【解决方案2】:

      使用下面的代码:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多