动态添加ListView不滚动

时间:2013-09-13 16:47:47

标签: android

我从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是可滚动的。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为在ListViews中使用身高= WRAP_CONTENT的多个LinearLayout是个不错的主意。这真的是你想要的吗?那么只有一个ListView包含所有元素呢?或者,如果您确实希望它们是高度为WRAP_CONTENT的单独视图,请使用LinearLayout而不是ListView

无论如何,如果你能向我们解释你想要达到的目的,那将会有所帮助。