0

我正在使用 android dateslider自定义对话框类,以便让用户编辑表格中几个不同行的日期。

日期滑块允许您限制用户仅选择您可以指定的最小日期和最大日期之间的日期。

每个表行都需要日期滑块将用户限制为不同的最小日期和最大日期,但是因为您在 onCreateDialog 方法中指定了最小和最大日期,所以我需要能够在用户单击该行时动态修改这些日期。

当用户单击对话框时,我尝试再次调用 onCreateDialog 方法并运行它,但是没有考虑新的限制,这表明仍然使用最初创建的对话框。

我将如何实现我的目标?

谢谢,马克斯。

4

1 回答 1

1

如果您需要在使用之前更改对话框,则需要使用onPrepareDialog.

更新:

传入onPrepareDialog的对话框是在 中创建的对话框onCreateDialog。随意修改它(不要创建新的)。您可能必须向自定义对话框类添加一些设置器:

protected void onPrepareDialog(int id, Dialog dialog) {
    switch(id) {
    case YOUR_DIALOG_ID:
        YearMonthDayHourMinute myDialog = (YearMonthDayHourMinute) dialog;
        myDialog.setInitialTime(initialTime);
        myDialog.setMinTime(minTime);
        myDialog.setMaxTime(maxTime);
        break;
    }
}
于 2011-11-18T18:51:50.577 回答