針對PullToRefreshScrollView不能自動刷新的問題的解決辦法

PullToRefresh框架的PullToRefreshScrollView有不能自動刷新的bug,網上的解決辦法大可能是採用延遲若時間再進行刷新,這種解決辦法對性能影響很大。經過了解別人的討論,寫出以下方法,能夠最小的減小延遲。將下面的函數添加到PullToRefreshScrollView中,首次刷新就調用firstReFreshing(true)就能夠了,另外添加函數後會提示mHeaderLayout的權限不夠,將其更改成public便可,還會提示不能在非ui線程調用getHeight()函數,這個不用理會直接編譯就好了。框架

public void firstReFreshing(boolean doScroll) {

    if (doScroll) {
        new AsyncTask<Integer, Integer, Integer>() {//該處是針對PullToRefreshScrollView控件的bug進行補充的
            @SuppressWarnings("ResourceType")
            @Override
            protected Integer doInBackground(Integer... params) {
                while (true) {
                    if (mHeaderLayout.getHeight() > 0) {
                        return null;
                    }
                    try {
                        Thread.sleep(200);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }


            @Override
            protected void onPostExecute(Integer result) {
                Log.e("shiyan", "zhixingle");
                setRefreshing(true);
            }
        }.execute();
    } else {
        setRefreshing(false);
    }
}
相關文章
相關標籤/搜索