【问题标题】:Android - ProgressBar updates once, but not twiceAndroid - ProgressBar 更新一次,但不是两次
【发布时间】:2012-03-29 09:31:11
【问题描述】:

** 已解决 ** (见 cmets)

我正在通过运行 Service 并通知我的 Activity 来更新 ProgressBar(在 Activity 的 XML 布局中声明)。首次调用 Activity 时,首先一切正常。然后 Activity 通过 finish() 方法完成,应用程序继续其循环。

最终再次调用此 Activity 以执行相同的操作。问题是 ProgressBar 不会显示任何进度!我在 Activity 的两个实例上比较了 ProgressBar 的变量,完全相同。我不明白,真的。任何帮助将不胜感激。


我的活动

ProgressBar progressBar;
public void onCreate(Bundle savedInstanceState) {
     ...
     progressBar = (ProgressBar) findViewById(R.id.progressBar1);
     progressBar.setMax(100);
     progressBar.setProgress(0);
     ...
}

public void get_info_from_service(...) {
    progressBar.setProgress(service.getPercent()); 
}

void quit_activity{
    Intent myIntent = new Intent(getBaseContext(), OtherActivity.class);
    MyActivity.this.finish();
    startActivity(myIntent);
}

我的服务

for (Listener listener : listeners) {
    listener.send_notification(this);
}

public int getPercent(){
    return this.percent;
}

【问题讨论】:

  • 你有什么异常吗?如果是,请发布日志...
  • 我编辑了第一篇文章,但这对你没有帮助。 Activity 被正确通知(因此第一个实例成功) - 服务中唯一可能的问题是百分比值错误。
  • 就是这样!该死的,当问题在于更新百分比值时,我花了很多时间在 ProgressBar 周围搜索。呸呸呸。感谢您的尝试,很抱歉浪费您的时间。
  • @greg 欢迎来到 StackOverflow。如果您自己解决了一个问题,比如这个问题,那就是perfectly ok to post an answer 并接受它。如果您在答案中获得一些赞成票,您甚至会获得一个闪亮的徽章。 ;) 这以多种方式提供了帮助(例如,保持“未答复”标签的清洁)。谢谢。
  • "声望低于 100 的用户在提问后 8 小时内无法回答自己的问题。"但是会的!

标签: android service progress-bar progress


【解决方案1】:

解决了。在再次输入算法之前,请务必重新启动变量!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 2019-04-07
    相关资源
    最近更新 更多