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