1

だから、これまでのところ私はこのようなjsonオブジェクトのリストを作成しました

public class list extends ListActivity{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list);

        Intent i = getIntent();
        String snopel = i.getStringExtra("nopel");
        String snama = i.getStringExtra("nama");
        String salamat = i.getStringExtra("alamat");
        String sgolongan = i.getStringExtra("golongan");

        TextView tx_nopel = (TextView)findViewById(R.id.l_nopel);
        TextView tx_nama= (TextView)findViewById(R.id.l_nama);
        TextView tx_alamat = (TextView)findViewById(R.id.l_alamat);
        TextView tx_golongan = (TextView)findViewById(R.id.l_golongan);

        tx_nopel.setText(snopel);
        tx_nama.setText(snama);
        tx_alamat.setText(salamat);
        tx_golongan.setText(sgolongan);

        List<NameValuePair> pairs = new ArrayList<NameValuePair>();
        pairs.add(new BasicNameValuePair("nopel", snopel));

        ArrayList<HashMap<String, String>> lr = new ArrayList<HashMap<String, String>>();

        JSON json_lr = new JSON();
        JSONObject jobj_lr = json_lr.getJSON("http://10.0.2.2/KP/pdam/listtagihan.php", pairs);

        try {
            int length = jobj_lr.getInt("panjang");

            for(int n = 1; n <= length; n++){

                String m = Integer.toString(n);
                JSONObject row = jobj_lr.getJSONObject(m);

                String snomor = row.getString("nomor");
                String sbulan = row.getString("bulan");
                String stahun = row.getString("tahun");
                String stagihan = "Rp. " + row.getString("tagihan");

                HashMap<String, String> rek = new HashMap<String, String>();

                rek.put("nomor", snomor);
                rek.put("bulan", sbulan);
                rek.put("tahun", stahun);
                rek.put("tagihan", stagihan);

                lr.add(rek);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

        ListAdapter adapter_lr = new SimpleAdapter(this, lr, R.layout.list_data,
                new String[]{"nomor","bulan","tahun","tagihan"},
                new int[]{R.id.textView1, R.id.textView2, R.id.textView3, R.id.textView4});

        setListAdapter(adapter_lr);

        ListView lv_lr = getListView();

        lv_lr.setOnItemClickListener(new OnItemClickListener(){

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {
                // TODO Auto-generated method stub

                Intent i = new Intent(list.this, rincian.class);
                i.putExtra("nomor", ((TextView)view.findViewById(R.id.textView1)).getText().toString());
                startActivity(i);
            }

        });
    }
}

1つのリストアクティビティに1つのリストビューが表示されますが、1つのリストアクティビティに2つのカスタムリストビューを作成できるかどうか疑問に思いますが、その方法がわかりません。

listactivityでは、このようにリストアダプタを1つだけ選択できるアダプタを設定する必要があるため、不可能だと思います。setListAdapter(adapter_lr);

でも確かに知りたいのですが本当ですか?

前もって感謝します。

4

3 に答える 3

4

1 つのアクティビティに 2 つのリストビューが必要なのはなぜですか?

2つのリストビューが必要な場合は、次のことができextends Activityますadd two listview in layout file.

今、

ListView listView1=(ListView)findViewById(R.id.listview1);
ListView listView2=(ListView)findViewById(R.id.listview2);
于 2012-07-02T06:31:30.133 に答える
2

xml ファイルで宣言することにより、1 つのリスト アクティビティで 2 つのカスタム リスト ビューを作成できます。

<ListView 
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="Value in dps"
    ></ListView>

<ListView 
 android:id="@+id/list1"
    android:layout_width="fill_parent"
    android:layout_height="Value in dps"
    ></ListView>

1 つのリスト ID は @android:id/list にする必要があり、もう 1 つは自由に選択でき、コードで必要に応じてアダプタを設定できます。

于 2012-07-02T10:05:53.683 に答える
0

YourClass で Activity クラスを拡張する必要があり、レイアウトからリストビューをいくつでも持つことができます。

于 2012-07-02T06:44:24.890 に答える