Android滑动刷新bug
Android Swipe to refresh bug
我用RecyclerView成功实现了滑动刷新功能,效果很好。
代码如下:
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mSwipeRefreshLayout = (SwipyRefreshLayout) view.findViewById(getRefreshLayoutId());
mSwipeRefreshLayout.setOnRefreshListener(new SwipyRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh(SwipyRefreshLayoutDirection swipyRefreshLayoutDirection) {
doRefreshTask();
}
});
}
protected void onRefreshComplete() {
mSwipeRefreshLayout.setRefreshing(false);
completeRefresh();
}
这里是 XML:
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_refresh_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_recycler"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
但是,如果我拉下刷新按钮并释放,同时(在触发 onRefreshListener 之前)我再次拉下,然后刷新按钮停在屏幕中间,什么都不做。
有谁知道如何解决这个问题? Gmail 可以以某种方式禁用 "malicious" 下拉操作。
我使用的库:'com.android.support:design:23.0.1'
我注意到这是支持设计库23.0.1的一个bug,回滚到22.2.1版本不会有这个问题。
我用RecyclerView成功实现了滑动刷新功能,效果很好。
代码如下:
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mSwipeRefreshLayout = (SwipyRefreshLayout) view.findViewById(getRefreshLayoutId());
mSwipeRefreshLayout.setOnRefreshListener(new SwipyRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh(SwipyRefreshLayoutDirection swipyRefreshLayoutDirection) {
doRefreshTask();
}
});
}
protected void onRefreshComplete() {
mSwipeRefreshLayout.setRefreshing(false);
completeRefresh();
}
这里是 XML:
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_refresh_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_recycler"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
但是,如果我拉下刷新按钮并释放,同时(在触发 onRefreshListener 之前)我再次拉下,然后刷新按钮停在屏幕中间,什么都不做。
有谁知道如何解决这个问题? Gmail 可以以某种方式禁用 "malicious" 下拉操作。
我使用的库:'com.android.support:design:23.0.1'
我注意到这是支持设计库23.0.1的一个bug,回滚到22.2.1版本不会有这个问题。