一个列表视图中微调:单声道为Android [英] Mono for Android: Spinner within a listview
问题描述
我有一个是通过一个ArrayAdapter web服务填充列表视图。
web服务提供了我需要的所有数据。有些只是普通的textviews还没有的EditText和纺纱厂之间的其它替代。我告诉他们轻松,也填补了在那里他们的EditText领域由于是值。
I have a listview which is populated from a webservice using an ArrayAdapter. The webservice provides me with all the data I need. Some are just plain textviews yet other alternate between EditText and spinners. I show them easily, also filling up the values where they're due in EditText fields.
问题带有填补了微调的价值。我可以定义一个适配器中的适配器?另外我的数据来自一个web服务作为一个字符串传递的XML。
The problem comes with filling up the value of the Spinner. Can I define an adapter within an adapter? Also my data comes from a webservice as an XML passed as a string.
我的微调code到目前为止,我Adapter.cs里:
My Spinner code so far inside my Adapter.cs:
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之内。
My data for the spinner is within item.optbox_options.
从我的XML的表更容易理解:
A table from my XML for easier understanding:
<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列的值。
So just to clarify my needs and wants: Can I use an adapter within an adapter and if I can - how? How can I display data from the OptBox_Options row? I need to display the value from the FieldTextValue column inside in my spinners.
推荐答案
使用解决:
List<string> entries = new List<string>();
String rawXML = item.OptBox_Options;
StringReader stream = null;
XmlTextReader reader = null;
DataSet xmlDS = new DataSet();
stream = new StringReader(rawXML);
// Load the XmlTextReader from the stream
reader = new XmlTextReader(stream);
xmlDS.ReadXml(reader);
DataSet myOPTvalues = new DataSet();
myOPTvalues = xmlDS;
foreach (DataRow row in myOPTvalues.Tables[0].Rows)
{
var optItem = new PrevzemSpin();
optItem.FieldValue = row["FieldValue"].ToString();
if (optItem.FieldValue.Equals("")) optItem.FieldValue = null;
optItem.FieldTextValue = row["FieldTextValue"].ToString();
if (optItem.FieldTextValue.Equals("")) optItem.FieldTextValue = null;
entries.Add(optItem.FieldTextValue);
SpinnerValue.Tag = optItem.FieldValue;
}
这篇关于一个列表视图中微调:单声道为Android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!