关于scrollview内嵌listview的问题

在项目开发中,时常会用关于scrollview内嵌listview来显示一些数据,这样常出现一些问题,比如滚动事件冲突,加载数据过多,超过屏幕的宽度所显示的事件,然后又直接显示到最后一条的数据。
  对于事件冲突,可以重现listview空间,屏蔽它的滚动事件,
   核心代码
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

		int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
				MeasureSpec.AT_MOST);
		super.onMeasure(widthMeasureSpec, expandSpec);
	}


  对于数据显出错误的,要么让scrollview 在activity初始化的时候就获取到焦点,要么在listview上面的控件让他获取到焦点,都是可以解决这个问题的。
   eg:法一:
						prickListView.setSelection(0);

   方法二 :
 textview.setFocusable(true);
						textview.setFocusableInTouchMode(true);
						textview.requestFocus();

  方法三:
scrollview.scrollTo(0, 0);


这样完美的解决了以上结合使用的问题。

类似的 gridview 和listview, listview与scrollview,scrollview和gridview等,都可以使用类似的方法来解决,他们结合使用的时候出现的各种问题。

猜你喜欢

转载自codelyy.iteye.com/blog/2163249