我每天要从数据库中获取数据。并且数据必须每隔一天显示在RecyclerView中(用于循环)。 但必须在2秒后随时显示RecyclerView项目。 但是,在(for循环)中读取了整天的所有数据之后,所有项目都只显示一次。 所以.. 在(for循环)的任何实现中,我如何一一显示项目? 希望能帮助我。
答案 0 :(得分:1)
仅用一个项目初始化回收站视图,然后用System.currentTimeMillis();
计时,两秒钟后在recyclerView列表中添加一个项目并调用notifyItemInserted()
通知适配器新项目是插入。
此处是用于此目的的简单伪代码(仅用于提供一般性想法):
long initialTime = System.currentTimeMillis();
long now = System.currentTimeMillis();
while(now - initialTime < 2000){
now = System.currentTimeMillis();
}
//now code after two seconds..
mainList.add(item);
adapter.notifyItemInserted();
答案 1 :(得分:0)
尝试使用此代码,并延迟绑定到apadpter进入回收器视图。
@Override
public void onBindViewHolder(final ItemViewHolder holder, final int position) {
// below code handle click event on recycler view item.
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
final String data = mStringList.get(position);
if (data == "RED") {
holder.cardView.setBackgroundColor(Color.parseColor(color));
}
holder.textView.setText(data);
holder.firstButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onItemClick.getPosition(data); // shared data.
}
});
}
}, 2000);
}
答案 2 :(得分:0)
在活动中onCreate
handler = new Handler();
handler.postDelayed(runnable, 2000);
活动
final Runnable runnable = new Runnable() {
@Override
public void run() {
adapter.add(listItem);
handler.postDelayed(this, 2000);
}
};
在适配器中
public void add(ListItem listItem) {
list.add(listItem);
notifyDataSetChanged();
}