gpt4 book ai didi

android - 附有页脚的 ListView,smoothScrollToPosition 无法正常工作

转载 作者:行者123 更新时间:2023-11-30 03:32:59 27 4
gpt4 key购买 nike

我正在使用一个相当大的布局,其中包括一个 ListView 和一个位于其下方的 LinearLayout 作为页脚。我首先尝试将其包装在 ScrollView 中以使整个布局可滚动,但由于 ListView 和 ScrollView 都具有可滚动功能而彼此不兼容,因此遇到了问题。因此,解决方法是将 LinearLayout 作为 ListView 的页脚包含在内。

现在,在 LinearLayout 中,我在各个地方都有按钮,用户可以单击这些按钮返回到页面顶部。至少可以说,我从中得到的行为很奇怪。

如果我没有向下滚动太多,按钮功能正常。但是,如果我向下滚动得有点远,那么单击该按钮(即使是以前工作的相同按钮)将导致布局向上滚动到 ListView 的大约一半,而不是顶部。

下面是滚动的方法,很简单:

    public void backToTop(View view) {
lv = (ListView)findViewById(R.id.listview);
lv.smoothScrollToPosition(0);
}

单击任何按钮时都会触发此方法。

我也尝试过使用“scrollTo(0, 0)”函数,但是没有做任何事情。

如有任何帮助,我们将不胜感激!

**编辑:经过更多测试后,似乎滚动不再正常工作的地方是 ListView 在页面上不再可见。当我滚动过去时,按钮开始无法正常工作。

编辑 2:已解决。我的解决方案:我换了行

    lv.smoothScrollToPosition(0);

到:

    lv.setSelected(0);

这似乎为我的所有按钮在用户放置屏幕的任何位置提供了正确的行为。使用 setSelected 似乎没有我期望的自动触发点击事件的副作用。万岁!

最佳答案

我的解决方案:我更改了 backToTop 方法的第二行:

    lv.smoothScrollToPosition(0);

到:

    lv.setSelected(0);

这似乎为我的所有按钮在用户放置屏幕的任何位置提供了正确的行为。使用 setSelected 似乎没有我期望的自动触发点击事件的副作用。万岁!

关于android - 附有页脚的 ListView,smoothScrollToPosition 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17140006/

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