如果您正在使用自定义视图并且您的视图实现了SwipeRefreshLayout,则您可能会遇到显示重复刷新指示器的问题。
为了解决这个问题,您可以尝试在您的自定义视图中使用ViewBinding,然后在布局中添加一个专门的SwipeRefreshLayout。这样可以确保每个视图只有一个刷新指示器。
在布局文件中:
在您的自定义视图中,使用ViewBinding来绑定SwipeRefreshLayout,在您需要刷新的地方调用其setRefreshing(true)方法。
public class YourCustomView extends FrameLayout {
private YourCustomViewBinding binding;
public YourCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
initView();
}
private void initView() {
binding = YourCustomViewBinding.inflate(LayoutInflater.from(getContext()), this, true);
binding.swipeRefreshLayout.setOnRefreshListener(() -> {
// handle refresh logic here
binding.swipeRefreshLayout.setRefreshing(false); // stop refreshing indicator
});
}
// some other methods here
}
这样,您的自定义视图只会显示一个刷新指示器,而不再出现重复显示的问题。
下一篇:Android视图被裁剪