Closed fjzboy closed 7 years ago
@fjzboy 只会调用一次啊
前提是,recyclerview的adapter数据初始化为空的情况下,调用startRefresh
public class TwinklingRefreshLayoutDemo extends AppCompatActivity {
public static final String TAG = "TRL";
TwinklingRefreshLayout trl;
RecyclerView rv;
MyAdapter adapter;
private List<String> data = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_twinkling_refresh_layout_demo);
initViews();
}
private void initViews() {
rv = (RecyclerView) findViewById(R.id.recyclerview);
rv.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
adapter = new MyAdapter(this);
adapter.setData(data);
rv.setAdapter(adapter);
trl = (TwinklingRefreshLayout) findViewById(R.id.twinklingrefreshlayout);
trl.setOnRefreshListener(new RefreshListenerAdapter() {
@Override
public void onRefresh(TwinklingRefreshLayout refreshLayout) {
Log.e(TAG, "on refresh");
}
@Override
public void onLoadMore(TwinklingRefreshLayout refreshLayout) {
super.onLoadMore(refreshLayout);
Log.e(TAG, "on loadmore");
}
});
trl.post(new Runnable() {
@Override
public void run() {
trl.startRefresh();
}
});
}
class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> data;
private Context context;
private LayoutInflater inflater;
public MyAdapter(Context context) {
inflater = LayoutInflater.from(context);
}
public void setData(List<String> data) {
this.data = data;
notifyDataSetChanged();
}
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.list_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.tv.setText(data.get(position));
}
@Override
public int getItemCount() {
return data.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
public TextView tv;
public ViewHolder(View itemView) {
super(itemView);
tv = (TextView) itemView.findViewById(R.id.tv);
}
}
}
logcat=========================
12-19 13:45:08.870 6340-6340/com.fjz.realmdemo I/Adreno-EGL:
@fjzboy 不好意思,现在电脑出了点问题。我稍晚一些查下问题,给你答复
好的,多谢
我好像也碰到这种情况了,打日志会接收到两次数据
疏忽了。小问题。还有其它几个小问题一起修复之后会发布一个紧急发布的版本。感谢反馈!
@fjzboy @timshinlee 问题已解决
thank you~~~
调用startRefresh以后,当reyclerview的adapter初始数据list为空的时候,onRefresh会调用两次?