关于ScrollView嵌套ListView的一些问题

来源:互联网 发布:网络销售卖红酒好不好 编辑:程序博客网 时间:2024/05/16 09:21

一般都会遇到2个问题吧!
第一个问题:ListView为啥就显示一项?
第二个问题:为啥定位有点问题,没有从ScrollView的最顶部开始显示,而是从ListView的第一个item开始显示的?

先说第一个问题咋解决,一般就是重新ListView!

package com.example.lenovo.listview.view;import android.content.Context;import android.util.AttributeSet;import android.widget.ListView;public class MyListview extends ListView {    public MyListview(Context context) {        super(context);    }      public MyListview(Context context, AttributeSet attrs) {        super(context, attrs);    }      public MyListview(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);    }      @Override      protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {          int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);        super.onMeasure(widthMeasureSpec, expandSpec);      }  }  

也同时解决了滑动冲突的问题。

第二个问题的解决办法:让ScrollView中最顶部的控件去获取焦点,无论是一个ImageView还是一个ViewPager。代码中设置其获取请求焦点。例如:

imageView.setFocusable(true);imageView.setFocusableInTouchMode(true);imageView.requestFocus();

这样,ScrollView就可以完美的嵌套ListView了~

0 0