选择微调器项应返回数据库中的相关行

时间:2013-09-26 16:43:32

标签: android json spinner

我很难写出标题!我有一个微调器,通过JSON从我的数据库中获取信息。它们有一个名称列和一个id列。现在它只是在我的微调器上的一个列表中列出它们。我不需要显示id,但是当他们选择一个项目时,它应该返回我要使用的id。我确信之前已经多次询问过,但我找不到任何这种情况的例子。任何人都可以在我的代码中建议改变什么?谢谢!

这是我当前的代码列表名称和ID。

List<String> items = new ArrayList<String>();

  @Override
    protected String doInBackground(String... args) {
        // TODO Auto-generated method stub

        int success;

        try {
            // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("username", username));

            Log.d("request!", "starting");

            json = jsonParser.makeHttpRequest(LOGIN_URL, "POST", params);
            Log.d("Login attempt", json.toString());
            success = json.getInt(TAG_SUCCESS);

            if (success == 1) {

                mAlbums = json.getJSONArray(TAG_POSTS);

                // looping through all posts according to the json object
                // returned
                for (int i = 0; i < mAlbums.length(); i++) {
                    JSONObject c = mAlbums.getJSONObject(i);

                    // gets the content of each tag
                    String album_name = c.getString("album_name");
                    String album_code = c.getString("album_code");

                    items.add(album_name);
                    items.add(album_code);

                    Log.d("Login Successful!", json.toString());
                }

            } else {
                Log.d("Login Failure!", json.getString(TAG_MESSAGE));
                return json.getString(TAG_MESSAGE);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;

    }

    protected void onPostExecute(String file_url) {

        pDialog.dismiss();

        ArrayAdapter<String> spinnerMenu = new ArrayAdapter<String>(
                MainOwnerScreen.this, android.R.layout.simple_list_item_1,
                items);
        mSpinner.setAdapter(spinnerMenu);

        if (file_url != null) {
            Toast.makeText(MainOwnerScreen.this, file_url,
                    Toast.LENGTH_LONG).show();
        }

    }

}

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position,
        long arg3) {
    // TODO Auto-generated method stub
    spinselected = (String) mSpinner.getItemAtPosition(position);
    Log.d("spin selected", spinselected);

}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub

}

1 个答案:

答案 0 :(得分:0)

尝试在onItemSelected

中找到包含以下代码的项目
spinselected = items.get(position);