我有一个使用 ArrayAdapter 从 Web 服务填充的列表视图。网络服务为我提供了我需要的所有数据。有些只是纯文本视图,还有一些在 EditText 和微调器之间交替。我很容易地展示它们,同时在 EditText 字段中填写它们应得的值。
问题在于填充 Spinner 的值。我可以在适配器中定义适配器吗?此外,我的数据来自 web 服务作为作为字符串传递的 XML。
到目前为止,我的 Adapter.cs 中的 Spinner 代码:
if (item.FieldType == "OptionBOX")
{
Spinner SpinnerValue = (Spinner) view.FindViewById<Spinner>(Resource.Id.spinnerVal);
SpinnerValue.Visibility = view.Visibility == ViewStates.Invisible ? ViewStates.Invisible : ViewStates.Visible;
bool isReadOnly = bool.Parse(item.isReadOnly);
if (isReadOnly == true)
{
SpinnerValue.Enabled = false;
SpinnerValue.Focusable = false;
SpinnerValue.FocusableInTouchMode = false;
}
}
我的微调器数据在 item.optbox_options 中。
为了便于理解,我的 XML 中的表格:
<Table diffgr:id="Table5" msdata:rowOrder="4">
<IdRec>5</IdRec>
<FieldId>1026</FieldId>
<FieldDesc>stanje rezervoarja</FieldDesc>
<FieldType>ComboBOX</FieldType>
<isReadOnly>true</isReadOnly>
<FieldValue>6</FieldValue>
<FieldTextValue>2/4</FieldTextValue>
<OptBox_Options>
<Options><myOPT FieldValue="1" FieldTextValue="0"/><myOPT FieldValue="2" FieldTextValue="1/4"/><myOPT FieldValue="6" FieldTextValue="2/4"/><myOPT FieldValue="7" FieldTextValue="3/4"/><myOPT FieldValue="8" FieldTextValue="4/4"/></Options>
</OptBox_Options>
</Table>
所以只是为了澄清我的需求和愿望:我可以在适配器中使用适配器吗?如果可以的话 - 怎么做?如何显示来自 OptBox_Options 行的数据?我需要在我的微调器中显示 FieldTextValue 列中的值。