我在使用 ProgressBar 时遇到问题。我以前使用过进度条,从来没有遇到过这个问题。
我有一个按钮,一旦单击,就会运行一个异步任务,这可能需要很长时间才能完成。因此,我设置了一个 ProgressBar 来显示单击按钮的时间。代码是这样的:
Button btnFollowing = (Button) findViewById(R.id.btnFollowing);
final ProgressBar pbFollowing = (ProgressBar) findViewById(R.id.progressBarFollowing);
btnFollowing.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
pbFollowing.setVisibility(View.VISIBLE);
ArrayList<String> friends = new ArrayList<String>();
try {
GetFriends gf = new GetFriends(MainActivity.this);
friends = gf.execute("value").get();
} catch (InterruptedException e) {
Log.e("Exception MainActivity gettingfriends", e.toString());
} catch (ExecutionException e) {
Log.e("Exception MainActivity gettingfriends", e.toString());
}
setStringArrayPref(MainActivity.this, "friends", friends);
pbFollowing.setVisibility(View.INVISIBLE);
}
});
问题是 ProgressBar 在 AsyncTask 结束之前不会显示在屏幕上,即使 setVisible 行在 AsyncTask 创建之前也是如此。
关于为什么会发生这种情况的任何想法?
谢谢指教!