我有一个问题,就像我有一个包含在公司工作的所有开发人员姓名的微调器一样。
我已经使用ArrayAdapter
与一个数组,其名称为所有开发人员从数据库中提取。如何在Android中设置并获取微调器中的项目的编号
问题是,当我更新开发人员名称字段时,我得到的开发人员名称不足以更新数据,因为他们可能是公司中具有相同名称的多个开发人员。
所以现在我需要开发者的ID来更新它..
如何存储与Spinner
开发商ID,这样我可以做到这一点。
例如,我想去做是我们在做HTML
::
<select>
<option id="1">Developer1</option>
<option id="2">Developer2</option>
<option id="3">Developer2</option>
<option id="4">Developer2</option>
</select>
其中ID连接将是数据库ID。
我想在android中模仿这个。
这是我用当您执行setOnItemSelectedListener上的名字存储阵列::
String alldevelopers = null;
try
{
ArrayList<NameValuePair> postP = new ArrayList<NameValuePair>();
alldevelopers = CustomHttpClient.executeHttpPost("/fetchdevelopers.php", postP);
String respcl = alldevelopers.toString();
alldevelopersParser dev = new alldevelopersParser();
ow = dev.parseByDOM(respcl);
}
catch (Exception e) {
e.printStackTrace();
}
String developers[] = new String[ow.length]; //dev is a class object
for (int n = 0; n < ow.length; n++)
{
developers[n] = ow.developer[n][2];
}
这是将旋转阵列的微调..
final Spinner devl = (Spinner) findViewById(R.id.towner);
devl.setOnItemSelectedListener(managetasks.this);
ArrayAdapter<String> b =
new ArrayAdapter<String>getApplicationContext(),
android.R.layout.simple_spinner_item,developers);
b.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
devl.setAdapter(b);
一个问题:微调器是否加载了与数据库中的顺序相同的开发者名称?考虑微调器内项目的位置,以确定相同位置的db中编程人员的ID可能是有用的吗? – Ant4res 2012-03-31 07:58:36
是的......加载的顺序与数据库的顺序相同......但是那么开发人员的id不会以增量的方式出现,就好像某些开发人员被删除了那么他们的id就会丢失在列表中...所以我们无法直接将itemSelected位置与数据库中id的位置进行比较......是他们的任何其他方式,我的亲爱的朋友会根据ItemSelectedposition数字来搜索数据库。 – 2012-03-31 09:19:52