1

我有一个服务,它向一个显示 Grid 中项目列表的活动发送广播。一个特定的网格项目有一个图像和一个进度条,应该在广播接收器上更新。该活动已向接收者注册并显示日志。

发送广播时,接收方会更新图像,也可以设置图像的 alpha,但不能更新进度条的进度。进度条始终设置为最大值以下是接收器中的代码


View v = bookgrid.getChildAt(0);
ProgressBar progress = (ProgressBar)v.findViewById(R.id.book_progress);
RelativeLayout rl = (RelativeLayout)v.findViewById(R.id.book_image);
progress.setVisibility(View.VISIBLE);
rl.setAlpha((float) 0.2);
progress.setProgress(30);
4

1 回答 1

0

我相信您正在尝试使用基于 0-100 的进度。为此,您必须先将进度条最大值设置为 100

http://developer.android.com/reference/android/widget/ProgressBar.html#setMax(int)

将您的代码更改为

View v = bookgrid.getChildAt(0);
ProgressBar progress = (ProgressBar)v.findViewById(R.id.book_progress);
RelativeLayout rl = (RelativeLayout)v.findViewById(R.id.book_image);
progress.setVisibility(View.VISIBLE);
rl.setAlpha((float) 0.2);
progress.setMax(100);
progress.setProgress(30);
于 2013-10-11T07:46:06.137 回答