Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何显示日期选择器对话框扩展自android中的线性布局视图_Android_Date - Fatal编程技术网

如何显示日期选择器对话框扩展自android中的线性布局视图

如何显示日期选择器对话框扩展自android中的线性布局视图,android,date,Android,Date,我正在使自定义视图从线性布局扩展。但在这里,我想在单击getdate按钮时显示日期选择器。如何做到这一点 public class XmlTest extends LinearLayout implements OnItemSelectedListener, OnDateSetListener{ Date = Calendar.getInstance(); btndate.setOnClickListener(new Butt

我正在使自定义视图从线性布局扩展。但在这里,我想在单击getdate按钮时显示日期选择器。如何做到这一点

 public class XmlTest extends LinearLayout implements OnItemSelectedListener, OnDateSetListener{


    Date = Calendar.getInstance();
                            btndate.setOnClickListener(new Button.OnClickListener() {

                                @Override
                                public void onClick(View v) {
                                    datePickerInput=v.getId();
                                    for (int d = 0; d < mlistDateTimeButton.size(); d++){
                                        if (listDateTimeButton.get(d).getId() == v.getId()){

                                             showDateDialog(etLocationTest, Date);
                                        }
                                    }
                                }
                            });

}

protected void showDateDialog(EditText etLocationTest2, Calendar date2) {
        Log.i("", "Date showDateDialog ");
        activeDateDisplay = etLocationTest2;
        activeDate = date2;
            ((Activity) getContext()).showDialog(DATE_DIALOG_ID);


    }
但无法显示“日期选择器”对话框。如何执行此操作。

在onCreateView内部。 btndate.setonClickListener新建视图.OnClickListener{

        public void onClick(View v) {
            DatePickerDialog dialog = new DatePickerDialog(getActivity(),datePickerListener,
                    year, mon,day);
            dialog.show();
      }
});
    public void onDateSet(DatePicker view, int selectedYear,
                          int selectedMonth, int selectedDay) {

        //Do whatever you want with selectedDay,selectedMonth and selectedYear
    }
};
专用DatePickerDialog.OnDateSetListener datePickerListener =新建DatePickerDialog.OnDateSetListener{

        public void onClick(View v) {
            DatePickerDialog dialog = new DatePickerDialog(getActivity(),datePickerListener,
                    year, mon,day);
            dialog.show();
      }
});
    public void onDateSet(DatePicker view, int selectedYear,
                          int selectedMonth, int selectedDay) {

        //Do whatever you want with selectedDay,selectedMonth and selectedYear
    }
};

这对我很有用,希望对你也有帮助

我已经在下面添加了实现这一点的所有代码

将其保存在类中扩展linearlayout

创建一个构造函数,从初始化该类的位置获取上下文。使用了代码,对我来说效果很好

class XmlTest extends linearlayout{
DatePopListener mDatePopListener;
EditText edittext;
TextBox label;
private DatePickerDialog datePickerDialog;
private SimpleDateFormat dateFormatter;
public  XmlTest(Context context,String labelText){
dateFormatter = new SimpleDateFormat("dd-MM-yyyy", Locale.US);
Calendar newCalendar = Calendar.getInstance();
label.setText(labelText);
this.addView(label);
this.addView(txtBox);
txtBox.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
      datePickerDialog.show();

    }
});
datePickerDialog = new DatePickerDialog(getContext(), new DatePickerDialog.OnDateSetListener() {

    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        Calendar newDate = Calendar.getInstance();
        newDate.set(year, monthOfYear, dayOfMonth);
        txtBox.setText(dateFormatter.format(newDate.getTime()));
    }

},newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));


}
//Now you can do your task here whatever as the date will be available in txtBox
//Enter your code as your requirements
}

您面临的问题是什么?是否有任何错误?无法显示日期选择器对话框,先生。