码迷,mamicode.com
首页 > 移动开发 > 详细

Android ScrollView中嵌套ListView只显示一行的解决办法

时间:2014-11-06 10:43:16      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   color   ar   os   for   sp   数据   

Android编程中,ScrollView嵌套ListView时,会无法正确的计算ListView的大小。解决的办法如下:

(非原创,网上搜到的解决方法)

    public class MainActivity extends Activity {   
        private ListView listView;   
        @Override   
        protected void onCreate(Bundle savedInstanceState) {   
            super.onCreate(savedInstanceState);   
            setContentView(R.layout.activity_main);   
            listView = (ListView) findViewById(R.id.listView1);   
            String[] adapterData = new String[] { "Afghanistan", "Albania",… … "Bosnia"};   
            listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,adapterData));   
            setListViewHeightBasedOnChildren(listView);   
        }   
        public void setListViewHeightBasedOnChildren(ListView listView) {   
            // 获取ListView对应的Adapter   
            ListAdapter listAdapter = listView.getAdapter();   
            if (listAdapter == null) {   
                return;   
            }   
       
            int totalHeight = 0;   
            for (int i = 0, len = listAdapter.getCount(); i < len; i++) {   
                // listAdapter.getCount()返回数据项的数目   
                View listItem = listAdapter.getView(i, null, listView);   
                // 计算子项View 的宽高   
                listItem.measure(0, 0);    
                // 统计所有子项的总高度   
                totalHeight += listItem.getMeasuredHeight();    
            }   
       
            ViewGroup.LayoutParams params = listView.getLayoutParams();   
            params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));   
            // listView.getDividerHeight()获取子项间分隔符占用的高度   
            // params.height最后得到整个ListView完整显示需要的高度   
            listView.setLayoutParams(params);   
        }   
    }   

 

Android ScrollView中嵌套ListView只显示一行的解决办法

标签:android   style   blog   color   ar   os   for   sp   数据   

原文地址:http://www.cnblogs.com/kunkka/p/4077997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!