我有以下Model类,它在列表中有5个对象。我不想在一个页面上显示所有这些内容,而是想在第一个片段中显示第一项,在第二个片段中显示第二项,依此类推。
我正在使用mvvm模式。
RecyclerViewModel.cs
namespace Example.Core.ViewModels
{
public class RecyclerViewModel
: MvxViewModel
{
private ListItem _selectedItem;
public RecyclerViewModel()
{
Items = new ObservableCollection<ListItem> {
new ListItem { Title = "A" },
new ListItem { Title = "B" },
new ListItem { Title = "C" },
new ListItem { Title = "D" },
new ListItem { Title = "E" }
};
}
private ObservableCollection<ListItem> _items;
public ObservableCollection<ListItem> Items
{
get { return _items; }
set
{
_items = value;
RaisePropertyChanged(() => Items); …Run Code Online (Sandbox Code Playgroud) 我有以下NullableConverter课程.但是当我运行我的应用程序时,它没有显示任何内容,TextView如果值为null,我怎么能显示0?有可能在axml吗?
public class NullableValueConverter : MvxValueConverter
{
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}
public override object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null || string.IsNullOrEmpty(value.ToString()))
{
return null;
}
return value;
}
}
Run Code Online (Sandbox Code Playgroud)
在我看来:
local:MvxBind="Text Age,Converter=Nullable;"
Run Code Online (Sandbox Code Playgroud) 在下面的代码中,我可以CategoryList在微调器中显示项目.
我的问题是,我怎么能够检测到哪一个被选中?
ViewModel.cs
public List<int> CategoryList
{
get { return new List<int> { 1,2,3,4,5,6,7,8,9,10 }; }
}
int _chosenCategory;
public int ChosenCategory {
get { return _chosenCategory; }
set { SetProperty(ref _chosenCategory, value);
}
}
Run Code Online (Sandbox Code Playgroud)
ViewModel.axml
<LinearLayout
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent">
<mvvmcross.droid.support.v7.appcompat.widget.MvxAppCompatSpinner
android:layout_width="100dp"
android:layout_height="match_parent"
local:MvxItemTemplate="@layout/xxx"
local:MvxBind="ItemsSource CategoryList;SelectedItem ChosenCategory" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 有一个Package项目列表按排序GUID,但我需要按如下顺序排序
KK %, AB, AB art, DD %, FV, ER, PP and WW
我已经实现如下,但我想知道有更好的方法吗?
List<PackageType> list = new List<PackageType> (8);
foreach (var a in mail.Package)
{
if (a.Name == "KK %")
list[0] = a;
else if (a.Name == "AB art")
list[1] = a;
else if (a.Name == "AB")
list[2] = a;
else if (a.Name == "DD %")
list[3] = a;
else if (a.Name == "FV")
list[4] = a;
else if (a.Name == "ER")
list[5] = a; …Run Code Online (Sandbox Code Playgroud) 我试图找到索引如下.
但是下面的LINQ说没有扩展FindIndex.
foreach (var distinctClassId in distinctClassIds)
{
var indexes = classComponents.Where(x=> x.ClassId.Equals(distinctClassId)).
FindIndex(x => x.Id == Constants.Classes.ClassID.ToString() ||
x.Id == Constants.Courses.CoursesID.ToString());
}
Run Code Online (Sandbox Code Playgroud) 我有listItem和property的resData对象.我检查了所有列表项属性,所有这些属性都是.CoursesErrorCoursesErrornull
但是,当我签入以下内容时,它会返回true.
我想知道我错过了什么?
if(resData.Courses.Select(x => x.Error != null && x.Error.Length > 0).Count() > 0)
{
Console.WriteLine("Error");
}
Run Code Online (Sandbox Code Playgroud) 给定一个32位带符号整数,整数的反向数字。
范例1:
输入:123输出:321
范例2:
输入:-123输出:-321
范例3:
输入:120输出:21
假设我们正在处理一个只能存储32位有符号整数范围内的整数的环境:[?2 ^ 31,2 ^ 31?1]。出于此问题的目的,假定反向整数溢出时函数返回0。
我试图解决可逆的int问题,但是以下解决方案因以下输入而失败。
输入: 1534236469
输出: 9646324351
预期: 0
在我的解决方案中,我正在检查给定的int是否大于max或min值,然后检查它是否为负。
我的解决方案
import sys
class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
if x <sys.maxsize-1 or x > -sys.minsize:
if str(x)[0] == '-':
list_mod = list(str(x))
list_mod.pop(0)
list_mod.append('-')
list_mod.reverse()
join_list = ''.join(list_mod[:])
return int(join_list)
else:
return int(str(x)[::-1])
else:
return 0
Run Code Online (Sandbox Code Playgroud) 我有以下列表项目才能显示.我可以看到下面的小列表,可能是数百行.StartDate也EndDate可以nullable,如果EndDate为null,则表示课程仍然开放.
CourseId ClassName StartDate EndDate isActiveinDB
-------- --------- --------- ------- ------------
12321 Math 08-25-2017 12-02-2017 Y
32342 Math 08-25-2017 12-02-2017 N
25325 Math 01-25-2018 - Y
Run Code Online (Sandbox Code Playgroud)
如果我通过以下方法通过今天的日期(06-06-2018),它将返回所有课程,而不仅仅是最后一个课程(数学25325),该课程尚未过期且基于开放isActiveinDB.
我想知道以下实现的不正确之处.
public List<Courses> GetClassesByDate( DateTime date, List<Courses> allCourses)
{
List<Courses> courses = allCourses.Where( x => x.StartDate.HasValue ? x.StartDate <= date : true
&& x.EndDate.HasValue ? x.EndDate.Value >= date : true
&& x.isActiveinDB.Equals("Y")).ToList();
return courses;
}
Run Code Online (Sandbox Code Playgroud)
感谢@DavidG,实现在以下链接中
我正在尝试构建一个类似的 URL 查询
limit=20&offset=0
如果没有,limit则 URL 查询应如下所示
offset=0
我尝试按如下方式形成字符串,但我的结构项是可选的;因此,我很困惑想出一个字符串。
struct Filter {
var limit: Int?
var offset: Int?
}
extension Filter:CustomStringConvertible {
var description: String {
return "limit=\(limit)&offset=\(offset)"
}
}
Run Code Online (Sandbox Code Playgroud) c# ×7
linq ×3
mvvmcross ×3
xamarin ×3
ios ×2
data-binding ×1
mvvm ×1
objective-c ×1
python ×1
swift ×1