视图中的输入字段正在内容页面上填充。在视图中,它设置为IsEnabled=false;
。只要将其设置为禁用,就不会设置条目的值。
请查看以下代码:
public class DetailsView : ContentView
{
public static Entry txtdetailsName;
public DetailsView()
{
Label lbldetailsName = new Label { Text = Resource.detailsName, FontAttributes = FontAttributes.Bold, Style = (Style)Application.Current.Resources["LabelStyle"] };
txtdetailsName = new Entry { Style = (Style)Application.Current.Resources["entryStyle"], IsEnabled = false };
StackLayout stDetailsName = new StackLayout
{
Padding = new Thickness(10, 0, 10, 0),
Children ={
lbldetailsName,
txtdetailsName
}
};
Content = new StackLayout
{
Padding = new Thickness(0, 0, 0, 20),
Children = {stDetailsName}
};
}
}
在内容页面中:
public TestDetailsPage()
{
getDetailsData();
}
private async void getDetailsData()
{
Test test = new Test();
test = await getTestDetails();
loadView(test);
}
public async Task<Test> getTestDetails()
{
//...
return Test;
}
public void loadView(Test test)
{
DetailsView = new DetailsView();
//DetailsView.txtdetailsName.Text = Test.Name;
DetailsView.txtdetailsName.Text = "Some Text";
}
但它似乎没有设定价值。不确定是什么导致了这个问题。
修改
我在三款Android设备Micromax Canvas(Android版本6.0.1),华硕Zenfone(Android版本4.4.2)和三星Galaxy Tab 2(Android版本4.1.2)上测试了该应用程序。在Asus zenfone和Samasung galaxy tab 2中,禁用字段的值按预期显示,而在Micromax画布上,禁用的文本框为空。
Android version could be the issue?
答案 0 :(得分:0)
看起来loadView可能没有在主线程上创建DetailsView。你能检查确定它吗?异步空格可能会吞噬异常。