当前位置:编程学习 > wap >>

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);
 我试了一下 可以将滚动条设置到顶部 --------------------编程问答--------------------
引用楼主 yanjichaoo 的回复:
为了解决scrollview和listview冲突  设置了listview的高度   结果进页面就不是在顶部了  如何才能解决该情况


解决了
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 楼  的回复:
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来达到类似的效果。 --------------------编程问答--------------------
引用 21 楼 TobyC 的回复:
不太应该把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楼,看来大家的问题都解决了。。 --------------------编程问答--------------------
引用 7 楼 yanjichaoo 的回复:
在百度上找了一个解决scrollview和listview冲突的例子  里面的意思是用linearlayout代替listview  中间的意思是说通过一个资源数组来初始化linearlayout列  这样就会出现很多行的效果  可是用到我这里好像不行  我这个adapter的数据是服务器上解析来的  无法确定大小  就不能使用这种初始化的方式来解决了   求解啊  怎么能让他显示出来的时候就是在最上面 


Listview外套一层LinearLayout --------------------编程问答-------------------- 14L  正解!  --------------------编程问答-------------------- 14L和20L都正解,谢谢!
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,