Android 在安卓系统中,几秒钟后如何清除RecyClerview数据?
我有一个关于在android中几秒钟后清除recyclerview的问题。我试着在一个线程中这样做,但对我来说不起作用。我用了这个密码Android 在安卓系统中,几秒钟后如何清除RecyClerview数据?,android,multithreading,android-recyclerview,Android,Multithreading,Android Recyclerview,我有一个关于在android中几秒钟后清除recyclerview的问题。我试着在一个线程中这样做,但对我来说不起作用。我用了这个密码 public void cleardbView() { final Thread countdown = new Thread() { @Override public void run() { try { Thread.sleep(15000);
public void cleardbView()
{
final Thread countdown = new Thread() {
@Override
public void run() {
try {
Thread.sleep(15000);
runOnUiThread(new Runnable() {
@Override
public void run() {
recyclerView = (RecyclerView) findViewById(R.id.dbView);
arrayList.clear();
layoutManager = new LinearLayoutManager(MainActivity.this);
return;
}
});
} catch (InterruptedException e) {
}
return;
}
};
countdown.start();
}
我在添加数据的部分使用了这段代码。该方法对于所有条件来说都太大了,所以我在这里只放伪代码(我尽量简化它:D)
清除列表后需要使用arrayList.clear()代码>
适配器。notifyDataSetChanged()代码>
- 通知所有已注册的观察者数据集已更改李>
试试这个
public void cleardbView()
{
final Thread countdown = new Thread() {
@Override
public void run() {
try {
Thread.sleep(15000);
runOnUiThread(new Runnable() {
@Override
public void run() {
recyclerView = (RecyclerView) findViewById(R.id.dbView);
arrayList.clear();
layoutManager = new LinearLayoutManager(MainActivity.this);
yourAdapter.notifyDataSetChanged();
return;
}
});
} catch (InterruptedException e) {
}
return;
}
};
countdown.start();
}
清除列表后需要使用arrayList.clear()代码>
适配器。notifyDataSetChanged()代码>
- 通知所有已注册的观察者数据集已更改李>
试试这个
public void cleardbView()
{
final Thread countdown = new Thread() {
@Override
public void run() {
try {
Thread.sleep(15000);
runOnUiThread(new Runnable() {
@Override
public void run() {
recyclerView = (RecyclerView) findViewById(R.id.dbView);
arrayList.clear();
layoutManager = new LinearLayoutManager(MainActivity.this);
yourAdapter.notifyDataSetChanged();
return;
}
});
} catch (InterruptedException e) {
}
return;
}
};
countdown.start();
}
这是一个更好、更短的问题实现,处理程序是后台线程,提供了与UI通信的能力//请查看此处以了解有关线程和处理程序的更多解释
这是一个更好、更短的问题实现,处理程序是后台线程,提供了与UI通信的能力//请查看此处以了解有关线程和处理程序的更多解释
无需反复更换适配器。。只需添加并清除arraylist中的数据,然后通知适配器无需反复更改适配器。。只需添加并清除arraylist中的数据,然后通知AdapterYeees。。这有助于。。。我需要在一些表格中检查:)是的,我知道我只需要等待10分钟lastsHandler比在android中使用线程更好,检查我的解决方案我已经包括了它们之间的差异,抱歉打扰:)是的。。这有助于。。。我需要在一些表格中检查:)是的,我知道我只需要等待10分钟lastsHandler比在android中使用thread更好,检查我的解决方案我已经包括了它们之间的差异,抱歉打扰:)这不是某种委托吗?对不起,但你是什么意思?我不明白试着检查一下这个。。。非常好的“非线程”编程类型:)哦,没有处理程序是后台线程,它们比使用第一个解决方案中给出的基本线程(线程)要好。。。下次我会试试的。。对于我的解决方案,现在最好使用线程:)。。。thx我反对你的建议:)那不是某种代表吗?对不起,你是什么意思?我不明白试着检查一下这个。。。非常好的“非线程”编程类型:)哦,没有处理程序是后台线程,它们比使用第一个解决方案中给出的基本线程(线程)要好。。。下次我会试试的。。对于我的解决方案,现在最好使用线程:)。。。thx我赞成你的建议:)
Handler handler = new Handler();
int delay = 2000; //milliseconds
handler.postDelayed(new Runnable(){
public void run(){
RecyclerViewAdapterDataList.clear();
RecyclerViewAdapter.notifyDataSetChanged();
}
}, delay);