我试图让用户选择一个日期,当点击一个按钮时,它显示3个滚轮选择日,月和年,然后它将设置用户选择的任何文本视图,在当我点击按钮的时刻没有任何事情发生只是空的点击任何帮助将不胜感激。我将在下面插入代码。我在这行代码中收到错误。Android Studio Calendar Picker
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的代码:
<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" />
错误:
Error:(135, 17) error: no suitable method found for show(android.support.v4.app.FragmentManager,String)
method DialogFragment.show(android.app.FragmentManager,String) is not applicable
(argument mismatch; android.support.v4.app.FragmentManager cannot be converted to android.app.FragmentManager)
method DialogFragment.show(FragmentTransaction,String) is not applicable
(argument mismatch; android.support.v4.app.FragmentManager cannot be converted to FragmentTransaction)
请记住,计算机完全按照您的说法进行操作,仅此而已。在这种情况下,'show()'什么也不做。 –
我忘了删除,它给我一个错误,直到我插入那个病重做问题对不起 – chris123
我建议你学习如何动态地显示一个片段。 –