0

リストビューを作成するときに、カスタム テキストとカスタム setbackgroundresource を使用してリストビューを設定する必要があります

これは私のコードです:

listView は、次のような JSON エンコードによって URL からデータを受け取ります。

{"results":[
    {"db_id":"6","discount":"active","db_description":"bla bla bla ","db_num":"137","db_num2":"260"},
    {"db_id":"14","db_type":"discount","db_description":"blaaaaaaa","db_num":"39","db_num2":"46"},
    {"db_id":"18","db_type":"discount","db_description":"blaaaaaaa","db_num":"335","db_num2":"456"},
]}

マップへのデータの追加

            List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("type",RESULTS_PARAMS));
        JSONObject json = jsonParser.makeHttpRequest(RESULTS_URL, "GET",
                params);
        Log.d("JSON RESULT: ", json.toString());

        try {
            queues = json.getJSONArray(TAG_RESULTS);
            for (int i = 0; i < queues.length(); i++) {
                JSONObject c = queues.getJSONObject(i);

                String id = c.getString(TAG_ID);
                String type = c.getString(TAG_TYPE);
                String description = c.getString(TAG_DESCRIPTION);
                String num = c.getString(TAG_NUM);
                String num2 =  c.getString(TAG_NUM2);
                int imageint = getResources().getIdentifier(c.getString(TAG_TYPE) , "drawable", getPackageName());
                String image = String.valueOf(imageint);

                HashMap<String, String> map = new HashMap<String, String>();
                map.put(TAG_ID, id);
                map.put(TAG_TYPE, type);
                map.put(TAG_DESCRIPTION, description);
                map.put(TAG_NUM, num);
                map.put(TAG_NUM2, num2);
                map.put(TAG_IMAGE, image);

                QueueList.add(map);
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }

DATAをリストビューに設定するコード

                    ListAdapter adapter = new SimpleAdapter(
                        QueueActivity.this,
                        QueueList,
                        R.layout.queue_row,
                        new String[] { TAG_ID, TAG_DESCRIPTION, TAG_NUM, TAG_NUM2, TAG_IMAGE},
                        new int[] { R.id.queueid, R.id.description, R.id.num, R.id.num2, R.id.list_image });

                setListAdapter(adapter);

db_id (TAG_ID) = int info の場合、 setBackgroundResource を R.drawable.customlistviewback に設定したい

たとえば、int info = 6;

4

1 に答える 1

1

行レベルのビューの変更を行うには、おそらくカスタム アダプターを使用する必要があります。通常、getView関数をオーバーライドしてそこで変更を行います。まともな例については、リストビュー行アンドロイドをカスタマイズする方法を参照してください。

于 2012-09-10T22:44:52.017 に答える