Pat*_*bee 5 android autocompletetextview mvvmcross
我在Xamarin Android AutoCompleteTextView周围使用MVVMCross的包装器。
我使用PartialTextChanged更改事件来表示需要从View调用ViewModel以获得更多建议。
在用户从列表中选择一个项目之前,这种方法都可以正常工作。在那之后,对文本的任何更改都不会导致PartialTextChanged事件触发。好像一旦选择就关闭了过滤。
AutoCompleteTextView上有一个SetText方法似乎可以打开/关闭过滤,但是我不确定使用该方法的最佳方法。
像AfterTextChanged一样,TextChangedEvent仍会在控件上触发,但不是PartialTextChanged,而是驱动更新的原因。
我已经通过MVVMCross源进行了调试,看不到解决方案。有什么想法吗?
我在哪里可以浏览mondroid \ xamarin android代码?
谢谢
在附加了MVVMCross源代码并调试了所有事件之后,我发现在某些情况下,更改PartialText属性后,我没有更新ItemsSource。
FilteringAdapter在对PartialText的更改周围使用ManualResetEvent,并且仅通过NotifyDataSetChanged方法发出信号\设置。
找到这个之后,我还发现@slodge在此答案中也提到了这一点,即AutoComplete MVVM和Java Castings,而没有在ViewModel上使用Java.Lang.Object。到现在为止我一直没有遇到的限制。
请注意,由于采用了Android线程模型,PartialText中的每个更改都必须由ItemsSource中的最终信号更改来满足-这应该是对象集合中的单个更改,而不是很多小的更改。
谢谢
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |