如何从mySql数据库填充微调器

时间:2012-06-22 09:12:22

标签: android mysql

我如何填充这个,我在我的应用程序中有2个Spinners,一个用于省,另一个用于City,当我在省旋转器中选择Gauteng时,我希望我的第二个微调器显示约翰内斯堡,比勒陀利亚,Centurion和如果我选择KZN在省我希望我的第二个旋转器显示Maritsburg和Durban。

即时通讯使用mySql数据库,我有省表和城市表。 这是My Province表(idprovince,省名)

1   Gauteng 
2   Free-State 
3   Limpopo 
4   Northen-Cape 
5   North-West 
6   Western-Cape 
7   Eastern-Cape 
8   Kwa-Zulu-Natal 
9   Mpumalanga 

这是我的城市表(idcity,cityname,province_idprovince)

1  Johannesburg    1 
2   pretoria    1 
3   Centurion   1 
4   Bloemfontein    2 
5   Welkom  2 
6   Polokwane   3 
7   Phalaborwa  3 
8   Potgiersrus 3 
9   Tzaneen 3 
10  Kimberley   4 
11  Upington    4 
12  Mafikeng    5 
13  Klerksdorp  5 
14  Mmabatho    5 
15  Potchefstroom   5 
16  Brits   5 
17  Cape-Town   6 
18  Stellenbosch    6 
19  George  6 
20  Saldhana-Bay    6 
21  Bisho   7 
22  Port-Elizabeth  7 
23  East-London 7 
24  Pietermaritzburg    8 
25  Durban  8 
26  Ulundi  8 
27  Richards-Bay    8 
28  Newcastle   8 
29  Nelspruit   9 
30  Witbank 9 
31  Middleburg  9 
32  Ermelo  9

我会恭喜你的帮助。

4 个答案:

答案 0 :(得分:1)

您应该通过以下一些教程({3}}

来看看加载您的微调器

答案 1 :(得分:1)

This link展示了如何连接mysql和获取数据

答案 2 :(得分:0)

那么你应该看看一些教程来获得微调器的基础知识 这样做之后

1步:从db获取数据并使用适配器

将其设置为第一个微调器

2步:在第一个微调器的OnItemSelected事件上,您还必须设置第二个适配器(根据所选项目从db获取数据并使用适配器将其设置为第二个微调器)

答案 3 :(得分:0)

这是一个例子。在这里,我使用SAX解析从服务器获取了详细信息。其中,zone_districtname和district_districtid是arraylists,我在那里存储服务器的详细信息

Spinner sp1, sp2;
ArrayList<String> loc = new ArrayList<String>();
static ArrayList<String> mov = new ArrayList<String>();

ArrayAdapter<String> ad = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, district_districtname);
    // apply the Adapter:
    sp1.setAdapter(ad);
    sp1.clearFocus();

    sp1.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {

            int pos = sp1.getSelectedItemPosition();
            selecteddistrict = district_districtname.get(pos);

            loc.clear();
            for (int i = 0; i < district_districtname.size(); i++) {

                if (district_districtname.get(i).equals(selecteddistrict)) {

                    districtid = district_districtid.get(i);
                    for (int j = 0; j < locality_localityname.size(); j++) {

                        if (locality_districtid.get(j).equals(districtid)) {

                            loc.add(locality_localityname.get(j));

                        }
                    }
                }
            }


            sp2 = (Spinner) findViewById(R.id.Spinner01);

    ArrayAdapter<String> ad2 = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, loc);
    // apply the Adapter:
    sp2.setAdapter(ad2);

    sp2.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {

}