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

datepicker:单击edittext时如何弹出datepicker

简成仁
2023-03-14

我想显示datepicker弹出窗口。我找到了一些例子,但我没有得到正确的理解。我有一个edittext,我希望当我单击edittext时,datepicker对话框应该弹出,在设置日期后,日期应该以DD/MM/YYYY格式显示在edittext中。请提供给我样本代码或良好的链接。

共有1个答案

空俊语
2023-03-14

在XML文件中尝试这样做:

<EditText
   android:id="@+id/Birthday"
   custom:font="@string/font_avenir_book"
   android:clickable="false" 
   android:cursorVisible="false" 
   android:focusable="false" 
   android:focusableInTouchMode="false"
   android:hint="@string/birthday"/>

现在在Java文件中:

final Calendar myCalendar = Calendar.getInstance();

EditText edittext= (EditText) findViewById(R.id.Birthday);
DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {

    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {
        // TODO Auto-generated method stub
        myCalendar.set(Calendar.YEAR, year);
        myCalendar.set(Calendar.MONTH, monthOfYear);
        myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
        updateLabel();
    }

};

edittext.setOnClickListener(new OnClickListener() {
        
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        new DatePickerDialog(classname.this, date, myCalendar
                .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                myCalendar.get(Calendar.DAY_OF_MONTH)).show();
    }
});

现在在上面的活动中添加方法。

private void updateLabel() {
    String myFormat = "MM/dd/yy"; //In which you need put here
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
    
    edittext.setText(sdf.format(myCalendar.getTime()));
}

在EditText的xml文件中添加Android:focusable=“false”,以便只进行一次触摸。

 类似资料:
  • 我想显示datepicker弹出窗口。我找到了一些例子,但我没有正确理解。我有一个按钮,我希望当我点击按钮时,datepicker对话框应该弹出,并且在设置日期后,日期应该显示在。请提供我的样本代码或良好的链接。

  • 询问代码的问题必须证明对所解决问题的理解程度最低。包括尝试的解决方案、为什么不起作用以及预期的结果。另请参见:堆栈溢出问题检查表 我想显示数据选择器弹出窗口。我找到了一些示例,但我没有正确获取它。我有一个按钮,我希望当我单击按钮时,数据选择器对话框应该弹出,设置日期后,日期应该存储在变量中。请提供示例代码或好的链接。

  • 我想显示日期选择器弹出窗口。我找到了一些例子,但我没有正确理解。我有一个编辑文本,我点击编辑文本,会弹出日期选择器对话框,设置日期后,日期会以dd/mm/yyyy格式以片段形式显示在编辑文本中。请提供我的样本代码或良好的链接。

  • 找到两个解决方案-请参阅选定的答案 当用户单击EditText的某个区域时,我想弹出一个对话框。我使用onClick捕捉点击。这部分起作用:用户第一次轻触EditText时,软键盘弹出,对话框没有弹出。随后轻触会弹出键盘,然后弹出对话框(键盘消失)。 我怀疑这与EditText获得焦点有关。 这里有一个代码片段: 重要提示:我不想完全禁用正常的EditText行为。我希望用户能够进行区域选择(用于

  • 完成表单并点击注册按钮后,我得到一个弹出的信息消息(模态),消息中有close(X)和OK按钮和标题:在ABC Project下,显示了以下内容&通知用户注册成功的文本。 我尝试了几种方法来点击这个弹出窗口中的OK按钮,但都没有成功: 附加提示: null 我很感激你给我的提示和支持谢谢

  • 如何在swt中区分右键单击和左键单击弹出菜单? 通过添加SelectionListener,我可以在左键和右键上进行操作,但我如何知道使用了哪一个呢?有可能在菜单上安装鼠标听筒吗? 我想做的类似于浏览器的收藏夹菜单,左键单击选择,右键单击选择收藏夹关联菜单。 澄清一下:抱歉,没有包含屏幕截图,但是我想你可以明白我的意思,如果你遵循这个描述。 在Windows资源管理器(或任何其他浏览器)中选择“收