我在 RecordTable 类中定义了这个方法,它不是一个 Activity。
我从主 UI 线程调用它并将有效的 UI 线程上下文作为参数传递。
当然,它不适用于消息:
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
我在其他帖子中看到他们建议使用runOnUiThread
而不是,new thread
但由于该类不是活动runOnUiThread
,因此不可用。
在 runnable() 之外启动 Dialog 也不起作用。
有没有人遇到这个问题并找到解决方法?
public synchronized void scrollUp(final Context context, final ArrayList<Record> list, final int count) {
new Thread(new Runnable() {
public void run() {
setScrolling(true);
ProgressDialog pd = ProgressDialog.show(context, "", context.getResources().getString(R.string.loading_msg), true);
int n = Math.max(mViewStartIndex - count, 0);
for(int i = mViewStartIndex - 1; i >= n; i--) {
RecordTable.this.addFirstRow(list.get(i));
RecordTable.this.removeViews(RecordTable.this.getChildCount() - 1, 1);
}
pd.dismiss();
setScrolling(false);
}
}).start();
}