0

HTTP サーバーから JSON をフェッチし、リストビューを動的に作成します。

            for (int i = 0; i < jsonArray.length(); i++) {
                ...
                ...
                String[] lv_arr = new String[locationNames.size()];
                lv_arr = locationNames.toArray(lv_arr);

                modeList.setAdapter(new ArrayAdapter<String>(NeighborhoodSelectActivity.this, android.R.layout.simple_list_item_1, lv_arr));
                modeList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        LocationDetails l = nlMap.get(parent.getItemAtPosition(position).toString());
                        Intent lIntent = new Intent(NeighborhoodSelectActivity.this, LocationSelectActivity.class);
                        lIntent.putExtra("location", l);
                        startActivity(lIntent);
                    }
                });
                locationList.add(modeList);
            }
            LinearLayout lay = (LinearLayout) findViewById(R.id.neighListLayout);
            for(ListView v : locationList) {
                lay.addView(v, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
            }

ListViews が LinearLayout に追加されます。ただし、Gingerbread 以下の API では、最後の ListView のみがスクロール可能です。これを修正するにはどうすればよいですか?

4

1 に答える 1

0

ListViewsaに height = を複数持つWRAP_CONTENTのは良い考えではないと思いますLinearLayout。それは本当にあなたが望むものですか?ListViewすべての要素を含むものを 1 つだけ持つのはどうですか? WRAP_CONTENTまたは、実際に高さ =を使用して個別のビューにしたい場合は、LinearLayout代わりにListView.

とにかく、あなたが達成したいことを正確に説明していただければ助かります。

于 2013-09-13T17:10:05.137 に答える