mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
fix(templates): reset parameters to default value before creating views for widgets (closes #1022)
This commit is contained in:
+1
-1
@@ -52,5 +52,5 @@ interface ITemplateWidgetViewProvider {
|
||||
* @param widget The widget to create the view for.
|
||||
* @return The view.
|
||||
*/
|
||||
fun createView(context: Context, widget: Widget<*>): View
|
||||
fun <T> createView(context: Context, widget: Widget<T>): View
|
||||
}
|
||||
+5
-1
@@ -30,6 +30,7 @@ import com.itsaky.androidide.templates.EnumParameter
|
||||
import com.itsaky.androidide.templates.ITemplateWidgetViewProvider
|
||||
import com.itsaky.androidide.templates.Parameter
|
||||
import com.itsaky.androidide.templates.Parameter.DefaultObserver
|
||||
import com.itsaky.androidide.templates.ParameterWidget
|
||||
import com.itsaky.androidide.templates.SpinnerWidget
|
||||
import com.itsaky.androidide.templates.StringParameter
|
||||
import com.itsaky.androidide.templates.TextFieldParameter
|
||||
@@ -66,7 +67,10 @@ class TemplateWidgetViewProviderImpl : ITemplateWidgetViewProvider {
|
||||
}
|
||||
}
|
||||
|
||||
override fun createView(context: Context, widget: Widget<*>): View {
|
||||
override fun <T> createView(context: Context, widget: Widget<T>): View {
|
||||
if (widget is ParameterWidget<T>) {
|
||||
widget.parameter.setValue(widget.parameter.default)
|
||||
}
|
||||
return when (widget) {
|
||||
is TextFieldWidget -> createTextField(context, widget)
|
||||
is CheckBoxWidget -> createCheckBox(context, widget)
|
||||
|
||||
Reference in New Issue
Block a user