根据第一个微调器中选择的内容填充第二个微调器

时间:2014-02-13 14:08:02

标签: android mysql database spinner

您好我正在开发Android应用程序。我有一个带有2个微调器(CarMake& CarModel)的表单,允许用户从mySQL数据库中选择特定的汽车。我想加载CarMake微调器,其中包含我的汽车数据库的make列中的所有条目,并且从那里我希望carModel微调器仅包含数据库中make的模型。实现这个最简单的方法是什么?

3 个答案:

答案 0 :(得分:1)

将唯一ID分配给CarMake表项,例如主键。因此,假设对于Tata,您分配ID = 1然后将相同的ID分配给CarModel表中的所有模型(如外键),然后使用此ID可以轻松获取所有模型。 (希望你有不同的表格)

答案 1 :(得分:1)

你需要的方法是每个微调器有一个populate方法,所以你会有这样的东西

public void populateCarMake()
{...
    // query car make
    // update adapter 1
}
public void populateCarModel( int makeID )
{...
    // query car model where make_id == makeID 
    // update adapter 2
}

并在第一个微调器调用onitemselect()

populateCarModel( makeID );

答案 2 :(得分:1)

基于微调器项的选择,只需使用新列表设置适配器

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter);