【发布时间】: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