gpt4 book ai didi

android - 为什么 setVisibility 不适用于 Android ProgressBar?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:28 25 4
gpt4 key购买 nike

如果 ProgressBar 可以在需要时消失,那就太好了。在 applyMenuChoice 中使用 setVisibility.progressBar 有问题吗?在 PrintStatusTask().execute() 中使用 setVisibility.progressBar 的问题是它会在运行时使应用程序崩溃。

public class Controller extends Activity {
private ProgressBar progressBar;
...

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.controller);
progressBar = (ProgressBar)findViewById(R.id.progressBar);
...

private boolean applyMenuChoice(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuStatus:
progressBar.setVisibility(View.VISIBLE);
new PrintStatusTask().execute();
progressBar.setVisibility(View.GONE);
...

最佳答案

progressBar.setVisibility(View.VISIBLE);
new PrintStatusTask().execute();
progressBar.setVisibility(View.GONE);

这就是你正在做的:1.显示进度条2. 在单独的线程上生成一个任务3.隐藏进度条

整个过程的执行时间不会超过几毫秒。您需要在 PrintStatusTask 类的 onPostExecute() 方法中隐藏进度条。

你需要明白AsyncTaskexecute()方法是执行另一个线程并且不等待它完成的调用。这就是 AsyncTask 的全部要点。

关于android - 为什么 setVisibility 不适用于 Android ProgressBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3659940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com