想要实现的效果是:
有数据的话recycleview加载显示数据
没有数据的话显示 一个提示页面此时就分成两种情况 1、一种是有数据的时候加载数据显示 ---此时可能遇到数据过多的时候加载缓慢需要一会才能显示 2、一种是没有数据的时候显示的提示页面 ---比如用TextView放置文字提示没有数据
实现的方式
放一个ProgressBar,指定在一秒之后还是没有数据的话显示TextView提示语
在使用的地方
添加判断// 没有数据情况下 if(data = null || data.size() == 0){ //data数据为空或者长度为0的时候 //此时将这个空的data再设置给适配器并刷新-能清除掉之前有数据时留下的界面 mAdapter.setItems(data); mAdapter.notifyDataSetChanged(); //显示圆圈加载条 if(progressbar.getVisibility() != View.VISIBLE){ progressbar.setVisibility(View.VISIBLE); } //让圆圈加载条加载一秒后隐藏显示数据为空的提示 Handler handler = new Handler(); handler.postDelayed(new Runnable() { public void run() { if(progressbar.getVisibility() != View.GONE){ progressbar.setVisibility(View.GONE); } if (promptTextView.getVisibility() != View.VISIBLE){ promptTextView.setVisibility(View.VISIBLE);} } }, 1000); }
使用这个方法实现
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//delayMillis具体时间后执行
}
}, delayMillis);