我想在将文件从一个位置复制到另一个位置(大)时显示进度条,但是当单击按下选择按钮时,在操作结束(复制)之前不会显示目录。有问题的按钮显示在列表视图上方,单击时想要执行操作并隐藏。你知道它正在发生吗?提前谢谢。
final Button button = (Button) view.findViewById(R.id.buttonDir);
button.getBackground().setAlpha(230);
button.setVisibility(View.VISIBLE);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
button.setVisibility(View.GONE);
progress = new ProgressDialog(v.getContext());
progress.setMessage(type);
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progress.setIndeterminate(true);
progress.setCancelable(true);
progress.setProgress(0);
progress.setMax(1);
progress.show();
Thread t = new Thread(new Runnable() {
@Override
public void run() {
res = null;
while (res == null)
res = // return string
manejador.post(new Runnable() {
@Override
public void run() {
// progress.dismiss();
}
});
}
});
t.start();
try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
if (res.equals("Ok"))
updatedListView();
}
});
答案 0 :(得分:1)
你正在调用join()来锁定你的线程,直到另一个结束。
您必须继续执行并在任务完成时等待消息发布为异步。