[英]Android ViewModel - how to force recreation on certain configuration changes
[英]Android: Force recreation of dialog
我正在使用android datelider自定義對話框類,以便讓用戶編輯表中幾行的日期。
使用dateslider可以限制用戶僅選擇可以指定的最小日期和最大日期之間的日期。
每個表行都需要dateslider來將用戶限制為不同的最小日期和最大日期,但是,由於您在onCreateDialog方法中指定了最小和最大日期,因此我需要能夠在用戶單擊該行時動態修改這些日期。
我試過當用戶單擊對話框時再次調用onCreateDialog方法,並且該對話框已運行,但是未考慮新的限制,建議仍使用原始創建的對話框。
我將如何實現自己的目標?
謝謝,馬克斯。
如果需要在使用前更改對話框,則需要使用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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.