我在片段的OnCreateView中的线程期间显示progressDialog(自定义)的问题。我希望在线程工作期间显示progressDialog(如果完成则关闭)
// onCreateView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
frg = inflater.inflate(R.layout.services_frag, container, false);
pdialog = new TransparentProgressDialog(getActivity(), R.drawable.loading_throbber);
//show pdialog
pdialog.show();
Thread initializer= new Thread(new Task());
initializer.start();
retun frg;
}
任务可以运行:
class Task implements Runnable {
@Override
public void run() {
for (int i = 0; i < list.size(); i++) {
final int value =i;
handler.post(new Runnable() {
@Override
public void run() {
// code works
}
});
handler.removeCallbacks(this);
if( value== list.size()-1)
{
pdialog.dismiss();
}
}
}
}
progressDialog最后会显示一段时间的问题。
答案 0 :(得分:0)
你需要交换
// code works
和
if( value== list.size()-1)
{
pdialog.dismiss();
}
因为handler.post(...)中的代码将在UI线程中执行