Dialog contentView中的xml DatePicker无法正常工作

时间:2012-05-17 22:59:48

标签: android dialog datepicker

我是Android新手,我正在构建一个应用程序,其中我在Dialog的contentView中有一个xml DatePicker。对于显示所选日期的对话框按钮,我有以下代码:

                // get Date Button 
    Button dialogGetVButton = (Button) dialog.findViewById(R.id.GetVerseB);  
    dialogGetVButton.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
        int day = pickerC.getDayOfMonth(); 
        int month = pickerC.getMonth(); 
        showEtext.setText(new StringBuilder().append(month + 1) 
                   .append("-").append(day).append("-").append("2012")); 
        dialog.dismiss(); 
    } 
    }); 
    // END get Date Button

看起来getDayOfMonth(); and getMonth();不是对DatePicker的正确调用,因为单击该按钮会使应用程序崩溃。我想要它只是在showEtext TextView中显示所选的DatePicker日期。是否有人在这些行上做自定义DatePicker?如果是这样,那么完成此任务的正确代码是什么?我知道上面的代码可以在xml DatePicker独立时使用,而不是在Dialog的contentView中调用。但是这个代码在Dialog中不起作用。

1 个答案:

答案 0 :(得分:0)

好的,我明白了。我以为

    int day = pickerC.getDayOfMonth();  
int month = pickerC.getMonth()

是不正确的电话 - 事实证明他们是正确的。我的问题是没有正确调用Dialog中的DatePicker。最初我在做:pickerC = (DatePicker) findViewById(R.id.picker_c);我认为,只是将DatePicker拉入主要活动。我发现如果我打电话:pickerC = (DatePicker) dialog.findViewById(R.id.picker_c);拍打对话框。在findViewById前面是修复。这会将DatePicker拉入Dialog,以便Dialog可以“看到”DatePicker。