2014-01-18 41 views
1

我在我的应用程序中使用DatePicker和Time Picker,但在使用它时出现错误。DialogFragment的显示方法在Android版本2.3中不起作用

请参见下面的代码:

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)); 
    } 
} 

这是我在Google上搜寻后进口的包装:

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”的主要活动类的引用。

任何人都可以请帮我吗?

谢谢, David。

回答

0

尝试使用getActivity()getSupportFragmentManager()

0

使用下面的代码:

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