How can I put a ListView into a ScrollView without it collapsing?

后端 未结 27 3978
轮回少年
轮回少年 2020-11-21 05:24

I\'ve searched around for solutions to this problem, and the only answer I can find seems to be \"don\'t put a ListView into a ScrollView\". I have yet to see any real expl

27条回答
  •  离开以前
    2020-11-21 06:05

    All these answers are wrong!!! If you are trying to put a listview in a scroll view you should re-think your design. You are trying to put a ScrollView in a ScrollView. Interfering with the list will hurt list performance. It was designed to be like this by Android.

    If you really want the list to be in the same scroll as the other elements, all you have to do is add the other items into the top of the list using a simple switch statement in your adapter:

    class MyAdapter extends ArrayAdapter{
    
        public MyAdapter(Context context, int resource, List objects) {
            super(context, resource, objects);
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
             ViewItem viewType = getItem(position);
    
            switch(viewType.type){
                case TEXTVIEW:
                    convertView = layouteInflater.inflate(R.layout.textView1, parent, false);
    
                    break;
                case LISTITEM:
                    convertView = layouteInflater.inflate(R.layout.listItem, parent, false);
    
                    break;            }
    
    
            return convertView;
        }
    
    
    }
    

    The list adapter can handle everything since it only renders what is visible.

提交回复
热议问题