因为这两个都是可滚动的,所以在触摸事件上会有冲突.
具体表现在两个地方:1.listview的高度会显示错误.2.进入该界面后不是显示最顶部
关于第一个,解决的办法有这么几点.
1)ScrollView添加android:fillViewport="true"
2)listview如果可以定高,则在layout里定高
3)listview在代码里根据item的数量和item的高度定高
int
listViewheigh = synSettingList.size()
* (
int
) getResources().getDimension(
R.dimen.my_user_info_weibo_syn_row_height);
LinearLayout.LayoutParams lp =
new
LinearLayout.LayoutParams(
ListView.LayoutParams.FILL_PARENT, listViewheigh);
lvSynSetting.setLayoutParams(lp);
|
关于第二个,
可以通过scrolview的scrollTo方法移动到顶部.
但这个问题是,在第一次进入界面的时候,不管是在onResome还是onStart方法里调用这个方法都无效.我猜测应该是在onStart之后,界面才会开始把视图往下走.所以,可以通过handle的延迟加载runnable的方式,延迟几百毫秒再调用这个方法
http://blog.csdn.net/linjingj/article/details/7756911