当前位置: 首页 > 知识库问答 >
问题:

Android Studio日历选择器

方楷
2023-03-14

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

fragment.show(getSupportFragmentManager(), "date");

Datepicker代码

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)

共有1个答案

朱明知
2023-03-14

错误有点让人困惑,特别是如果您只关注类名而忽略了它们的包。问题是支持库使用了与本机API相同的类名。若要解决此问题,请再次检查应使用支持库的类的导入。例如:

import android.support.v4.app.DialogFragment

很可能你有

import android.app.DialogFragment

它是来自本机API的类。即使这两个类名字相同,但由于它们处于不同的包装中,因此是两种不同的类型。

 类似资料:
  • 首先我们想一下我们平常看到的日历选择器,通常头部会有一个星期几表头,下面就是日期,而日期下面通常会有1号,1号前面应该有一些上个月的日期,而最后一天后面还应该有下一个月的日期。 对于日期相关处理,JavaScript 提供了 Date 对象。 getDate 获得一个月的第几天 getDay 获得一个星期的第几天 (0 - 6) getMonth 获取月份 (0 - 11) getFullYea

  • 我有困难选择一个特定的日期使用日期选择器。下面是我尝试这样做的代码: 然而,我得到以下错误: 线程“main”org.openqa.selenium.nosuchelementException:找不到元素:{“method”:“XPath”,“selector”:“//*[@class='calendar bodycontainer']/tr[2]/td[3]/span”}命令持续时间或超时:3

  • 问题内容: 这是关于如何在django支持的网站中使用jQuery 。 是 我正在使用。 我正在使用和创建成功显示日期。 但未显示日期选择器图标。我正在使用Django模型形式。 问题答案: 你可以使用来将a传递给表单,该表单将在html中呈现。然后,将读取该内容以呈现功能。 这是一个例子: …或使用ModelForm时通过Meta类中的属性: 现在在模板中:

  • 我已经记录了用于从日期选择器中选择日期的selenium代码。在运行测试用例时,日期选择器会弹出并正确突出显示所选日期。但是没有选择日期。代码如下所示:- 此异常仅出现在记录的代码中。我使用的是selenium-server-standalone-2 . 45 . 0 jar。

  • 我正在使用日历视图来选择产品交付日期。我想在日历视图中仅显示当前日期的一个完整月份? 比如说: 今天的日期:2019年4月4日-日历视图应仅显示至2019年5月31日,不应显示上个月。 另一个例子:如果今天的日期是:2019年8月15日——日历视图应该只显示到2019年9月30日,而不应该显示上个月。 这可能吗?如果是这样的话,当我点击箭头时,如何显示默认日历视图是显示所有年份的正负?

  • HTML与它的外观截图一起粘贴,如下所示。 HTML: 我曾经试过 甚至试图等待命令以使定位器被找到但没有成功。 WebDriverWait(驱动程序,100)。直到(预期条件.element可禁用)(By.css选择器 两者都不起作用,因为它无法识别元素。有人能帮我吗。如果可能,我们甚至可以单击“上一个”和“下一个”,以便我们也可以单击一些以前的日期吗?