gpt4 book ai didi

android - ScrollView scrollTo 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:50:28 24 4
gpt4 key购买 nike

ScrollView .scrollTo not working? Saving ScrollView position on rotation 相同的问题

我在 onCreate 中将项目动态添加到 scrollView。添加所有项目后,我尝试以下操作:

    // no effect
ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);

// no effect
ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);
mainScroll.post(new Runnable() {
public void run(){
ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);
mainScroll.scrollTo(0, 0);
}
});

// works like a charm
ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);
mainScroll.postDelayed(new Runnable() {
public void run(){
ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);
mainScroll.scrollTo(0, 0);
}
}, 30);

我的结论是有一些像“DOM-ready”这样的事件?有回调吗?

最佳答案

您不需要扩展 ScrollView 并根据 David Daudelin 提供的答案创建您自己的 ScrollView对于this question .

获取ScrollViewViewTreeObserver,并为ViewTreeObserver添加一个OnGlobalLayoutListener。然后从 OnGlobalLayoutListeneronGlobalLayout() 方法调用 ScrollView.scrollTo(x,y) 方法。代码:

 ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);

ViewTreeObserver vto = scrollView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout() {
mainScroll.scrollTo(0, 0);
}
});

关于android - ScrollView scrollTo 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12884572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com