我可能在这里很密集,但这是我的问题。 我正在写一个应该用来管理物品清单的android应用。 我尝试从一个功能中填充一个布局中的多个Spinner和AutoCompleteTextView对象,而不是每个功能都有一个功能。
这就是我所拥有的... 对象_type应该成为对Sqlite查询的类的引用,以在其中填充数据。我在此示例代码中使用了对象,但是我已将其作为var,object,type来运行。 我这里有几个问题, 1)我得到“ _table”是一个变量,但像类型一样使用 2)当我尝试解析从数据库连接返回的数据时,我遇到了_res的类似问题
本质上,我想做的是使用变量作为类型的占位符。 我试过使用许多强制类型转换和.GetType()之类的函数,但是它们仍然抛出相同的“ x是变量,但像类型一样使用”。 当我在接收数据的列表的上下文中使用它时,我收到消息“列表需要一种类型参数”
目前,我通过对要处理的每个表单项都具有独立的功能来进行此工作,但是这很笨拙,我很乐意将其扩展为适用于从数据库获取数据的所有表单项。 / p>
public ArrayAdapter<string> PopulateAdapter(Context _c,
MyDatabase.enTables _which,
MyDatabase.Options _o =null)
{
string[] _l;
SQLiteConnection db = new SQLiteConnection(MyDatabase.GetDBFilePath());
string _sql;
Object _table;
List<_table> _res;
switch (_which)
{
case GMDatabase.enTables.Manufacturers:
_sql = "SELECT * FROM Manufacturers";
_table = MyDatabase.Manufacturer;
break;
case GMDatabase.enTables.Styles:
_sql = "SELECT * FROM Styles";
_table = MyDatabase.Styles;
break;
}
_res<_table> = new List<_table>;
_res = db.Query<_table>(_sql);
if (_res.Count)
{
for (int i = 0; i < size; i++)
{
_l[i + 1] = _res[i].Name;
}
return new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerDropDownItem, _l);
}
return null;
}
感谢您的浏览,任何建议或想法都将不胜感激!