gpt4 book ai didi

android - 带有搜索 EditText 的 MvvmCross Droid MvxListView?

转载 作者:太空宇宙 更新时间:2023-11-03 11:49:58 26 4
gpt4 key购买 nike

在 MvvmCross 中是否可以有一个顶部带有 Search EditText 的 Android MvxListView?以及如何?

最佳答案

在您的 View.axml 中:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
local:MvxBind="Text SearchString" />
<Mvx.MvxListView
android:layout_width="match_parent"
android:layout_height="match_parent"
local:MvxBind="ItemsSource FilteredList" />
</LinearLayout>

非常简单,EditText 是您的搜索查询框,它下面的列表本身将是您的过滤列表。

在你的 ViewModel.cs 中:

public class FirstViewModel 
: MvxViewModel
{
public FirstViewModel()
{
_filteredList = _completeList;
}


private string _searchString;
public string SearchString
{
get { return _searchString; }
set
{
_searchString = value;
if (string.IsNullOrEmpty(value))
{
_filteredList = _completeList;
}
else
{
_filteredList = _completeList.Where(o => o == value).ToList();
}
RaisePropertyChanged(() => SearchString);
RaisePropertyChanged(() => FilteredList);
}
}


private List<string> _completeList = new List<string>() { "a", "b", "c", "d", "e" };
private List<string> _filteredList;
public List<string> FilteredList
{
get { return _filteredList; }
}
}

此处的 ViewModel 从 EditText 接收 SearchString,然后使用 Linq 过滤完整列表。然后它采用过滤列表和过滤列表的 RaisesPropertyChanged。

关于android - 带有搜索 EditText 的 MvvmCross Droid MvxListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22483472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com