【发布时间】:2017-04-29 15:30:14
【问题描述】:
已解决
拜托,我需要帮助!
安卓情况:
MSVisualStudio 2015 + Xamarin + Mvvmcross 4.4
一个活动和几个片段。使用默认演示者。
1- 使用 MvxRecyclerView 查看(片段),选择一行进行编辑。
2- 使用 MvxSpinner 显示新视图(片段),并将其值 (A) 更改为另一个值 (B)。请记住:A 和 B 是对象。
<Mvx.MvxSpinner
android:id="@+id/spinner_academic_start_week"
android:layout_width="match_parent"
android:layout_height="wrap_content"
local:MvxDropDownItemTemplate="@layout/spinner_basic"
local:MvxItemTemplate="@layout/item_spinner_basic"
local:MvxBind="ItemsSource AcademicYearWeeksCollection; SelectedItem AcademicStartWeek; HandleItemSelected SelectAcademicStartWeekCommand" />
还有一个 ViewModel 有
public IList<AcademicYearWeeks> AcademicYearWeeksCollection { get { return _academicYearWeeksCollection; } }
其中 AcademicYearWeeks 是一个具有属性等的类。
3- 取消编辑并使用 MvxRecyclerView 返回查看。
4- 重复点击编辑同一行。
5- 哎呀! Spinner 显示 B 而不是 A。为什么????
其他注意事项:
始终使用微调器调用片段
ShowViewModel<CourseViewModel>(
new
{
courseId = item.CourseId
});
及其关联的 ViewModel
public void Init(int courseId)
{
_courseId = courseId;
}
public override void Start()
{
base.Start();
LoadAcademicYearWeeksCollection();
if (_courseId == 0)
NewCourse();
else
LoadCourse();
}
并使用
关闭Close(this)
我会很高兴的!
谢谢。
【问题讨论】:
-
当您说显示新视图时,这是一个新的片段或活动还是其他类型的视图?您是说当使用微调器返回页面时会记住先前选择的状态,并且您希望它是刷新重置页面?您的取消流程如何运作?