这似乎应该很简单,但我陷入困境。
我通过IntentService
事件从我的主要活动中启动onClick
,并使用引用静态内部类PendingIntent
的{{1}}来侦听服务的响应在BroadcastReceiver
事件的同一主要活动中,即
onClick
现在,我想要做的就是在活动的用户界面上显示public void onClick(View arg0) {
Intent intent = new Intent(this, MyService.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this,0,MyReceiver,0);
startService(intent);
}
public static class MyReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
// Do stuff here ....
}
(旋转不确定的一个),而ProgressBar
正在做其中的事情。我将xml中的IntentService
定义为
ProgressBar
我可以通过
从<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.Holo.ProgressBar.Large"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/progress"
android:visibility="gone"/>
事件开始
onClick
但我迷失了在哪里以及如何隐藏它?我不能从 ProgressBar pb = (ProgressBar) findViewById(R.id.progress);
pb.setVisibity(View.VISIBLE);
做它作为静态类,我无法访问UI。这看起来很简单,但我无法弄清楚最好的方法。有什么建议吗?
谢谢!
答案 0 :(得分:1)
我可以找到两个解决方案:
1.将进度条分配给静态引用,并在onReceive
中将其设置为不可见2.使您的接收器非静态