android 前进ListView下一项/ setSelectionFromTop不工作/禁止用户滚动ListView

soat7uwm  于 2023-05-05  发布在  Android
关注(0)|答案(1)|浏览(184)

我有一个列表视图,显示了一个项目列表...嗯,不是所有的,但他们都在那里。而不是让用户向上/向下滚动要求和向上/向下按钮。除了如何推进ListView之外,我已经很好地处理了所有事情。假设我正在查看列表中的第3项。用户点击下一个…我想ListView前进到第4项。我在内部跟踪他们在哪个页面上进行递增/递减。我期待着找到这样的东西,但没有运气。

ListView.MoveNext();

ListView.Move(int);

根据布雷登的建议,我在这里尝试了公认的解决方案:Maintain/Save/Restore scroll position when returning to a ListView并且它看起来没有滚动列表....即。它停留在列表的第一个项目上。我也试过setSelection。
下面是我的代码:

public void btn_NextClick(View vw_Current) 
{
    //increment page count 1
    i_PageTracker ++;
    
    //advance to next record
    //int x = lstvw_LiftData.getFirstVisiblePosition();
    View v = lstvw_LiftData.getChildAt(0);
    int top = (v == null) ? 0 : v.getTop();

    lstvw_LiftData.setSelectionFromTop(i_PageTracker, top);
    //lstvw_LiftData.setSelection(i_PageTracker);
 }

基于弗拉基米尔的成功和我的缺乏,我想提供一些额外的信息,我认为无关紧要,但…
我扩展了SimpleAedapter并覆盖了getView。我还有一个DataBinder,用数据对象中的某些数据填充TextViews。
有趣的是,当我在加载时在DataAdapter的getView和绑定器的setViewValue中设置断点时,我们会适当地命中它们。然而,当点击下一个按钮时,我们没有击中它们,如果列表前进到下一个位置,我会预料到......嗯,我想知道......我有另一个想法......马上回来。
我想明白了......但我不知道该怎么办。我不知道自己在做什么,我开枪打了自己。我只想看到一个项目在列表中的时间,我不希望用户能够滚动。我所做的就是覆盖DataAdapter中的getCount并返回1。这似乎是答案,因为只有一个项目显示酷!但是重写getCount也意味着只有一个项目可以显示,所以我们永远不会前进……没有什么可以前进的。
所以我想知道的是。我如何让用户无法滚动并强制他们使用导航按钮。我是否处理滚动事件并返回null?

rbpvctlc

rbpvctlc1#

我想明白了......但我不知道该怎么办。我不知道自己在做什么,我开枪打了自己。我只想看到一个项目在列表中的时间,我不希望用户能够滚动。我所做的就是覆盖DataAdapter中的getCount并返回1。这似乎是答案,因为只有一个项目显示酷!但是重写getCount也意味着只有一个项目可以显示,所以我们永远不会前进……没有什么可以前进的。
所以我想知道的是。我如何让用户无法滚动并强制他们使用导航按钮。我是否处理滚动事件并返回null?

相关问题