-1

名前と連絡先番号のキーとその値を持つjsonとして、サーバーから応答を受け取ります。名前と連絡先番号の詳細をチェックボックスとともに列として表示して、ユーザーがそれらの連絡先から複数を選択できるようにし、ボタンをクリックするだけで連絡先をサーバーに送信できるようにします。

私のjsonファイル

{
"users": "[{\"id\":1,\"name\":\"test_name\",\"contact\":\"23456543\",\"gender\":\"F\",\"age\":234,\"city\":\"delhi\",\"state\":\"india\",\"created_at\":\"2015-07-19T17:58:42.000Z\",\"updated_at\":\"2015-07-19T17:58:42.000Z\",\"district\":\"test_district\"},{\"id\":2,\"name\":\"test_name\",\"contact\":\"23456543\",\"gender\":\"F\",\"age\":234,\"city\":\"delhi\",\"state\":\"india\",\"created_at\":\"2015-07-19T17:58:42.000Z\",\"updated_at\":\"2015-07-19T17:58:42.000Z\",\"district\":\"test_district\"},{\"id\":3,\"name\":\"qwrrtt\",\"contact\":\"1234567890\",\"gender\":\"F\",\"age\":12,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T18:01:16.000Z\",\"updated_at\":\"2015-07-19T18:01:16.000Z\",\"district\":\"Bokaro\"},{\"id\":4,\"name\":\"wetur\",\"contact\":\"1234567890\",\"gender\":\"F\",\"age\":22,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T18:41:17.000Z\",\"updated_at\":\"2015-07-19T18:41:17.000Z\",\"district\":\"Bokaro\"},{\"id\":5,\"name\":\"tfjko\",\"contact\":\"1234567990\",\"gender\":\"F\",\"age\":34,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:30:09.000Z\",\"updated_at\":\"2015-07-19T19:30:09.000Z\",\"district\":\"Bokaro\"},{\"id\":6,\"name\":\"tfjko\",\"contact\":\"1234567990\",\"gender\":\"F\",\"age\":34,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:30:22.000Z\",\"updated_at\":\"2015-07-19T19:30:22.000Z\",\"district\":\"Bokaro\"},{\"id\":7,\"name\":\"fghjk\",\"contact\":\"4567890123\",\"gender\":\"F\",\"age\":45,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:35:14.000Z\",\"updated_at\":\"2015-07-19T19:35:14.000Z\",\"district\":\"Bokaro\"},{\"id\":8,\"name\":\"cvbnm\",\"contact\":\"7894561203\",\"gender\":\"F\",\"age\":23,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:37:42.000Z\",\"updated_at\":\"2015-07-19T19:37:42.000Z\",\"district\":\"Bokaro\"},{\"id\":9,\"name\":\"tfjko\",\"contact\":\"1234567990\",\"gender\":\"F\",\"age\":34,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:53:14.000Z\",\"updated_at\":\"2015-07-19T19:53:14.000Z\",\"district\":\"Bokaro\"},{\"id\":10,\"name\":\"edgujn\",\"contact\":\"4894521360\",\"gender\":\"F\",\"age\":45,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-20T02:45:01.000Z\",\"updated_at\":\"2015-07-20T02:45:01.000Z\",\"district\":\"Bokaro\"},{\"id\":11,\"name\":\"qwert\",\"contact\":\"4568217390\",\"gender\":\"F\",\"age\":45,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-20T06:12:57.000Z\",\"updated_at\":\"2015-07-20T06:12:57.000Z\",\"district\":\"Bokaro\"},{\"id\":12,\"name\":\"surbhi\",\"contact\":\"1334567890\",\"gender\":\"F\",\"age\":12,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-20T07:17:53.000Z\",\"updated_at\":\"2015-07-20T07:17:53.000Z\",\"district\":\"Bokaro\"},{\"id\":13,\"name\":\"preefu\",\"contact\":\"5641287092\",\"gender\":\"F\",\"age\":56,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-20T07:23:54.000Z\",\"updated_at\":\"2015-07-20T07:23:54.000Z\",\"district\":\"Bokaro\"}]"

}

私は今、連絡先と名前を別々のリストに入れています。そこにチェックボックスを入れるにはどうすればよいですか?複数の連絡先を選択してサーバーに転送しますか?

 JSONObject ob = new JSONObject(strres);
        List<String> allNames = new ArrayList<String>();

        JSONArray cast = ob.getJSONArray("users");
        for (int i=0; i<cast.length(); i++) 
        {
            JSONObject actor = cast.getJSONObject(i);
            String name = actor.getString("name");
            allNames.add(name);
        }
4

2 に答える 2

0

Priya Singhal が言うように、次のようになります。

public class Actor { //simplified

    private int id;
    private String name;

    public Actor(){}

    public Actor(int id, String name) {
        this.id = id;
        this.name = name;
    }
}

JSONObject json = new JSONObject();
SparseArray<Actor> actors = new SparseArray<Actor>();

JSONArray actorsJSON = null;
try {
    actorsJSON = json.getJSONArray("users");
    for (int i=0; i<actorsJSON.length(); i++){
        JSONObject actorJSON = actorsJSON.getJSONObject(i);
        Actor actor = new Actor(actorJSON.getInt("id"), actorJSON.getString("name"));
        actors.put(id, actor);
    }
 } catch (JSONException e) {
     e.printStackTrace();
 }

オフトピック: 多くの人は SparseArray オブジェクトについて知っているかもしれませんが、そうでない人もいるかもしれません。利点は、ArrayList と HashMap の両方の動作があり、HashMap よりも効率的であることです (何百もの項目がある場合を除きます)。この場合は、アイテムが 13 個しかないため、適切なオプションです。それが役に立てば幸い!

于 2015-07-20T20:06:17.327 に答える