android – 在列表视图中每次刷新时保持滚动位置

前端之家收集整理的这篇文章主要介绍了android – 在列表视图中每次刷新时保持滚动位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的应用程序中设置了一个计时器,我可以从Web服务获取一些信息,并导致列表视图显示.现在我的问题是,每次定时器运行时,回滚到开始…

在列表视图中每次刷新时如何保持滚动位置?

我的一部分代码

runOnUiThread(new Runnable() {
    public void run() {
        /**
         * Updating parsed JSON data into ListView
        * */
        ListAdapter adapter = new SimpleAdapter(DashboardActivity.this,all_chat,R.layout.list_item,new String[] { TAG_FULLNAME,TAG_DATE,TAG_MESSAGE },new int[] { R.id.fullname,R.id.date,R.id.message }
                                               );
        // updating listview
        setListAdapter(adapter);
    }
});

TNX.

解决方法

不要调用setAdapter().做这样的事情:
ListAdapter adapter; // declare as class level variable

runOnUiThread(new Runnable() {
    public void run() {
        /**
         * Updating parsed JSON data into ListView
         */
        if (adapter == null) {
            adapter = new SimpleAdapter(
                    DashboardActivity.this,new String[]{TAG_FULLNAME,TAG_MESSAGE},new int[]{R.id.fullname,R.id.message});
            setListAdapter(adapter);
        } else {
            //update only dataset   
            allChat = latestetParedJson;
            ((SimpleAdapter) adapter).notifyDataSetChanged();
        }
        // updating listview
    }
});

猜你在找的Android相关文章