0

我是 Android 新手,我正在构建一个应用程序,其中在对话框的 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 中调用。但是这段代码在对话框中不起作用。

4

1 回答 1

0

好的,我想通了。我以为

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

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

于 2012-05-18T16:46:26.020 回答