我是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中不起作用。
答案 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。