5

我想通过按下按钮来滚动我的列表视图。我上下使用两个按钮,当我按下向上按钮时,列表视图应该向上移动一排,当我按下按钮时,列表视图应该向下移动一排。

我的列表视图基于链接。我在这里找到了一个很好的滚动视图示例。现在我的问题是我需要使用我的列表视图而不是滚动视图,它应该增加/减少一行。作为android的新手,任何人都可以帮助我解决这个问题。提前致谢。

4

3 回答 3

3

您可以尝试以下任一方法:

对于直接滚动:

getListView().setSelection(int);

对于平滑滚动:

getListView().smoothScrollToPosition(int);

示例代码:

public View.OnClickListener onChk = new View.OnClickListener() {
             public void onClick(View v) {

                 int index = list.getFirstVisiblePosition();
                 getListView().smoothScrollToPosition(index+1); // For increment. 

}
});

但是,您需要处理一种情况,即顶部视图只有一半或一部分可见。

于 2013-09-04T12:48:58.847 回答
2

您甚至检查过 IDE 建议吗?;)

ListView lv = (ListView) findViewById(R.id.myListView);

// to scroll to a given position
lv.scrollTo(int x, int y);

// to scroll by a given number of dp
lv.scrollBy(int x, int y);
于 2013-09-04T12:38:36.047 回答
0

以平滑的持续时间滚动

getListView().smoothScrollToPositionFromTop(position,offset,duration);

参数 position -> 要滚动到的位置

offset ----> 滚动完成时距离视图顶部的位置像素所需的距离

持续时间-> 用于滚动的毫秒数

注意:来自 API 11。

于 2015-05-13T06:59:03.163 回答