scrollview起始位置不是顶部 如何设置
为了解决scrollview和listview冲突 设置了listview的高度 结果进页面就不是在顶部了 如何才能解决该情况 --------------------编程问答-------------------- `111 --------------------编程问答-------------------- 竟然都不会 哎·· --------------------编程问答-------------------- = =! 为什么都是模糊的问题scrollview.scrollTo(x,y);
listview.setSelection(int position);
试试这两个方法。。希望有点帮助。。ZZZZ --------------------编程问答-------------------- 我还是有这个问题,帮忙顶个! --------------------编程问答-------------------- 是scrollview里面嵌套了一个listview 我通过设置一个方法设置了listview的高度 现在的情况就是我进到这个界面的时候看到的不是最上面 而是中间 ,可以做出来的产品不能这样啊。。。。就得想办法让他显示出来的时候就是在最上面
scrollview.scrollTo(x,y);
这个方法我试了 xy设置的没有任何效果啊 0,0 或者大数都试过了 无效 另外full什么的那个到最上面 最下面的方法也无效 无效就是可以执行 不报错 但是没效果 求解 --------------------编程问答-------------------- 是scrollview里面嵌套了一个listview 我通过设置一个方法设置了listview的高度 现在的情况就是我进到这个界面的时候看到的不是最上面 而是中间 ,可以做出来的产品不能这样啊。。。。就得想办法让他显示出来的时候就是在最上面
scrollview.scrollTo(x,y);
这个方法我试了 xy设置的没有任何效果啊 0,0 或者大数都试过了 无效 另外full什么的那个到最上面 最下面的方法也无效 无效就是可以执行 不报错 但是没效果 求解 --------------------编程问答-------------------- 在百度上找了一个解决scrollview和listview冲突的例子 里面的意思是用linearlayout代替listview 中间的意思是说通过一个资源数组来初始化linearlayout列 这样就会出现很多行的效果 可是用到我这里好像不行 我这个adapter的数据是服务器上解析来的 无法确定大小 就不能使用这种初始化的方式来解决了 求解啊 怎么能让他显示出来的时候就是在最上面 --------------------编程问答-------------------- scrollview.scrollTo(x,y);
我试了一下 可以将滚动条设置到顶部 --------------------编程问答--------------------
解决了
Runnable scrollViewRunable = new Runnable() {
@Override
public void run() {
((ScrollView)findViewById(R.id.main_sv)).scrollTo(10, 10) ;
}
};
mHandler.post(scrollViewRunable); --------------------编程问答-------------------- 我也遇到这个问题才找到这里,其实解决方法很简单,并不需要像楼上那样起个线程.只要在绘制好你ListView数据后,设置一下ScrollView:
((ScrollView)findViewById(R.id.main_sv)).scrollTo(10, 10) ;
即可.
原因就是Activity计算窗口的高度是在listview没有填充数据时候就完成了,所以ScrollView嵌套listview需要指定高度,否则就会按照layout中定义的默认高度计算.同样,设置scrollTo的位置也要在listview填充数据完成后调用. --------------------编程问答-------------------- 楼主解决了吗?我现在也再纠结这个问题,和你说的一模一样,,求解啊 --------------------编程问答-------------------- 你好,请问楼主解决了该问题了吗?请赐教!求解 --------------------编程问答-------------------- 同样的问题,求解答 --------------------编程问答-------------------- myScrollView.smoothScrollTo(0,20); --------------------编程问答--------------------
14楼好用 --------------------编程问答-------------------- 14楼的方案能解决此问题。 --------------------编程问答-------------------- 14L 正解! --------------------编程问答-------------------- 14L给力`` --------------------编程问答-------------------- 除 --------------------编程问答-------------------- myScrollView.smoothScrollTo(0,20);无效时, 在代码里去掉listview的焦点 lv.setFocusable(false);
--------------------编程问答-------------------- 不太应该把ListView包含到ScrollerView里面,这不是一个好的做法。
首先是计算的ListView的高度是否准确(之前遇到过怎么算都不太准确,有点点误差)?还有就是设置完ListView的高度后,ListView里面itemView应该就无法复用了,也就是说ListView有多少个Item就会创建多少ItemView,会浪费挺多内存的。
我觉得比较合适的做法,应该是使用ListView的HeaderView或者FooterView来达到类似的效果。 --------------------编程问答-------------------- 有时候HeaderView是替代不了的. --------------------编程问答-------------------- 20楼暂时解决方案是完美的. --------------------编程问答-------------------- 终于找到这个方法了,找不好久,14楼的确实好用。。。
--------------------编程问答-------------------- 14L果然正解 --------------------编程问答-------------------- 留名标记下,下次会用到 --------------------编程问答-------------------- 20L正解myScrollView.smoothScrollTo(0,20);无效时, 在代码里去掉listview的焦点 lv.setFocusable(false); --------------------编程问答-------------------- 我也遇到同样的问题,14楼的完全正解!!!!顶!! --------------------编程问答-------------------- 20楼正解,谢谢 --------------------编程问答-------------------- 附议,20楼
--------------------编程问答-------------------- 顶14楼,看来大家的问题都解决了。。 --------------------编程问答--------------------
Listview外套一层LinearLayout --------------------编程问答-------------------- 14L 正解! --------------------编程问答-------------------- 14L和20L都正解,谢谢!
补充:移动开发 , Android