0

私のアンドロイド学習プロジェクトの 1 つで、動的 json オブジェクトからリスト ビューを作成しています。その作成ビューは完璧です。以下は私のコードです

final ListView lv = (ListView) findViewById(R.id.listView1);
    String json = "[{\"name\":\"Name 1\",\"number\":\"num 1\"},{\"name\":\"Name 2\",\"number\":\"num 1\"}]";


try {
    JSONArray array = (JSONArray) new JSONTokener(json).nextValue();

    String[] stringarray = new String[array.length()];
    for (int i = 0; i < array.length(); i++) {
        stringarray[i] = array.getJSONObject(i).getString("name");
    }
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stringarray); 
    lv.setAdapter(adapter);
    } catch (JSONException e) {
    // handle JSON parsing exceptions...
        e.printStackTrace();
    }

今、各リストにクリックイベントを追加しようとしていますが、別のアクティビティを表示して、このリストのコンテンツのみを表示する必要もあります。これを行う方法がわかりませんでした。

誰でも私を助けてもらえますか?前もって感謝します

アップデート

final ListView lv = (ListView) findViewById(R.id.listView1);
        String json = "[{\"name\":\"Name 1\",\"number\":\"num 1\"},{\"name\":\"Name 2\",\"number\":\"num 1\"}]";
        try {
            JSONArray array = (JSONArray) new JSONTokener(json).nextValue();

            String[] stringarray = new String[array.length()];
            for (int i = 0; i < array.length(); i++) {
                stringarray[i] = array.getJSONObject(i).getString("name");
            }
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stringarray); 
            lv.setAdapter(adapter);

            adapter.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                        long arg3) {
                    // Start a indent to start new activity and store necessary information hhere
                }

            });

            } catch (JSONException e) {
            // handle JSON parsing exceptions...
                e.printStackTrace();
            }
4

2 に答える 2

2
lv.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // Use an indent to start new activity and store necessary information in the indent
    }

});

インデントを使用してアクティビティを開始する方法については、これを確認してください

于 2013-05-07T09:19:57.797 に答える