我有一个片段,它将 ViewPager 与自定义视图和顶部栏中的微调器结合在一起。每次更改 viewpager 中的页面时,我都必须从 db 更新微调器中的字符串。为此,在 viewPager 侦听器的 onPageSelected 中,我启动了一个线程,该线程从数据库中检索数据并通过 runOnUiThread 微调器的适配器进行更新。问题是为微调器的适配器调用的 notifyDataSetChanged() 滞后于 viewpager:它必须重建几个视图,但它有点滞后。
@Override
public void onPageSelected(final int pos) {
new Thread(new Runnable() {
@Override
public void run() {
...
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
mSpinnerAdapter.notifyDataSetChanged();
}
});
}
}).start();
}
如何解决这个问题?可以在优先级最低的主线程上运行代码吗?