Android Studio日历选择器

Android Studio日历选择器,android,datepicker,Android,Datepicker,我试图让用户选择一个日期时,点击一个按钮,它显示3个滚轮选择日期,月份和年份,然后将设置任何用户选择的文本视图,当我点击按钮时,没有任何事情发生只是空点击任何帮助将不胜感激。我将在下面插入代码。我在这行代码中收到一个错误 fragment.show(getSupportFragmentManager(), "date"); 日期选择器代码 public void datePicker(View view) { DatePickerFragment fragment = new

我试图让用户选择一个日期时,点击一个按钮,它显示3个滚轮选择日期,月份和年份,然后将设置任何用户选择的文本视图,当我点击按钮时,没有任何事情发生只是空点击任何帮助将不胜感激。我将在下面插入代码。我在这行代码中收到一个错误

fragment.show(getSupportFragmentManager(), "date");
日期选择器代码

public void datePicker(View view) {
        DatePickerFragment fragment = new DatePickerFragment();
        fragment.show(getSupportFragmentManager(), "date");
    }

    public void setDate(final Calendar calendar) {
        final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
        ((TextView) findViewById(R.id.dateSet)).setText(dateFormat.format(calendar.getTime()));
    }

    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
        Calendar cal = new GregorianCalendar(year, month, dayOfMonth);
        setDate(cal);
    }

    public static class DatePickerFragment extends DialogFragment {

        public Dialog onCreateDialog(Bundle savedInstanceState) {
            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(),
                    (DatePickerDialog.OnDateSetListener)
                            getActivity(), year, month, day);
        }


        public void show(FragmentManager supportFragmentManager, String date) {
        }
    }

}
按钮和文本视图代码:

<TextView
        android:text=""
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/dateSet"
        android:layout_above="@+id/Category"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="11dp" />

    <Button
        android:text="Pick Date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/dateSet"
        android:layout_alignLeft="@+id/incomeDate"
        android:layout_alignStart="@+id/incomeDate"
        android:layout_marginBottom="17dp"
        android:onClick="datePicker"
        android:id="@+id/picDate" />

这个错误有点让人困惑,尤其是当您只关注类名而忽略它们的包时。问题是支持库使用与本机API相同的类名。要解决此问题,请仔细检查导入中应使用支持库的类。比如说

import android.support.v4.app.DialogFragment
很可能你有

import android.app.DialogFragment

这是来自本机API的类。尽管这两个类的名称相同,但它们是两种不同的类型,因为它们位于不同的软件包中。

请记住,计算机完全按照您所说的去做,仅此而已。在本例中,
show()
什么也不做。我忘了删除它给我带来的错误,直到我插入了我将重做这个问题,所以我建议你学习如何动态显示片段。我用错误更新了这个问题。你正在将支持库与本机API混合。所以我应该检查它是使用该导入还是其他导入?@chris123进行了一个小的编辑,以澄清不同的导入。
import android.app.DialogFragment