每次滚动回屏幕时,Android列表视图项都会更新

时间:2013-01-16 05:32:02

标签: android listview random

我有listView,其内容为随机生成的数字。如果listView中的一个项目滚出屏幕然后再滚动,则随机生成的数字会更改(它会生成一个新数字)。

有什么方法可以阻止这种情况发生吗?

示例代码为here

2 个答案:

答案 0 :(得分:1)

这是因为每当您的项目离开屏幕并再次出现时,它会调用getview()方法。要解决此问题,您可以在开始时将所有随机生成的数字存储在数组中,并使用它来显示项目。 要么 我认为使用视图持有者类(我没试过)。

答案 1 :(得分:1)

只需尝试使用listview实现监听器的代码和/或每次向上和/或向下滚动时调用的getview()方法,

mListView.setOnScrollListener(new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            // write down your code here
            // i think notifyDataSetChanged() this method calling whatever u require.
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, 
                int visibleItemCount, int totalItemCount) {
            // write down your code here
        }
    }); // mListView.setOnScrollListener close