从android中的mysql数据库加载多个微调器

时间:2014-11-17 05:35:46

标签: android mysql spinner

在我的Android应用程序Iam有6个微调器,我需要根据类别明智地加载它们与mysql数据库中存在的数据。并且我使用json检索数据并发送回android但这里我没有得到如何将数据分配给微调器。请帮我解决这个问题。

public void getItems(int l)
{
    //Toast.makeText(getApplicationContext(), ""+l, 5000).show();
    AsyncHttpClient client = new AsyncHttpClient();
    RequestParams autofill_params = new RequestParams();
    autofill_params.put("sending_category_id_JSON",autofill_composeJSONfromSQLite(l));
    //Toast.makeText(getApplicationContext(), "Sending JSON ==> "+autofill_params,5000).show();
    client.post("http://www.XXXX.com/mobile_cycle/spares_auto_fill.php", autofill_params, new AsyncHttpResponseHandler()

        {
        @Override
        public void onSuccess(String response)

        {       
            //Toast.makeText(getApplicationContext(), "Responce is ==>"+response, 5000).show();
            //spinner_updater();
            Gson gson = new GsonBuilder().create();
            try 
            {
                JSONArray arr = new JSONArray(response);
                //Toast.makeText(getApplicationContext(), "Length ==> "+arr.length(), 5000).show();
                //public String temp_array[];
                final String[] temp_array = new String[5];
                for (int i = 0; i < arr.length(); i++) 
                {
                    JSONObject obj = (JSONObject) arr.get(i);
                    //auto_first_name = obj.get("name").toString();
                    //Toast.makeText(getApplicationContext(), "Length ==> "+arr.length(), 5000).show();
                    String item_name = obj.get("name").toString();
                    temp_array[i] = item_name;
                    //spinner_updater(item_name);
                }

                spinner_updater(temp_array);

            }
            catch (JSONException e) 
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            //fillData(autofill_network_flag);
        }

        @Override
        public void onFailure(int statusCode, Throwable error,String content)

        {

            if (statusCode == 404) 

            {
                Toast.makeText(getApplicationContext(), "Requested resource not found", Toast.LENGTH_LONG).show();
            } 

            else if (statusCode == 500) 

            {
                Toast.makeText(getApplicationContext(), "Something went wrong at server end", Toast.LENGTH_LONG).show();
            } 

            else 

            {
                Toast.makeText(getApplicationContext(), "Unexpected Error occcured! [Most common Error: Device might not be connected to Internet]",
                        Toast.LENGTH_LONG).show();
            }
        }

    });
    }

public void spinner_updater(String[] item_name)

{

    Toast.makeText(getApplicationContext(), "Inside Updater Item Length ==> "+item_name.length, 5000).show();

    for(int length = 0; length < item_name.length; length++)

    {
        String empty_temp = " ";

        String temp_item = item_name[length];

        if(temp_item.equals(empty_temp))

        {
            //Toast.makeText(getApplicationContext(), "Item ==> "+item_name[length], 5000).show();
        }

        else

        {
            Toast.makeText(getApplicationContext(), "Item ==> "+item_name[length], 5000).show();
        }
    }

    ArrayAdapter<String> adp2 = new ArrayAdapter<String> 
    (this, android.R.layout.simple_dropdown_item_1line, str1);
    sp2.setAdapter(adp2);

}

1 个答案:

答案 0 :(得分:0)

首先创建与spinner一样多的列表

         List<String> list1, list2, list;

        list1 = new ArrayList<String>();
        list2 = new ArrayList<String>();
        list3 = new ArrayList<String>();


    spinner1 = (Spinner) findViewById(R.id.spinner1 );
    spinner2 = (Spinner) findViewById(R.id.spinner2 );
    spinner3 = (Spinner) findViewById(R.id.spinner3 );

现在将数据添加到数据库或json

中的每个列表
                SQLiteDatabase db = dbh.getReadableDatabase();

                Cursor cursor = db.rawQuery("select * from frnds", null);
            adding first row items in first list    
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor
                        .moveToNext()) {
                    // do what you need with the cursor here
                 list1.add(cursor.getString(1));
                    }

在第二个列表中添加第二行项目

 for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor
                            .moveToNext()) {
                        // do what you need with the cursor here
                     list2.add(cursor.getString(2));
                        }

在第三个列表中添加第三行项

for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor
                        .moveToNext()) {
                    // do what you need with the cursor here
                 list3.add(cursor.getString(3));
                    }
                cursor.close();

将列表设置为微调器

   ArrayAdapter<String> spinner1Adapter = new ArrayAdapter<String>(
                                this, android.R.layout.simple_spinner_item,
                                list1);
                        spinner1Adapter
                                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                        spinner1.setAdapter(spinner1Adapter);

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

        ArrayAdapter<String> spinner3Adapter = new ArrayAdapter<String>(
                                this, android.R.layout.simple_spinner_item,
                                list3);
                        spinner3Adapter
                                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);


                spinner3.setAdapter(spinner3Adapter);