【发布时间】:2010-11-15 06:28:58
【问题描述】:
我一直在尝试让我的进度条视图在我的文件扫描器应用程序中工作,但我完全被活动、服务、线程和处理程序的正确组合所困扰。
结构如下:我的 Activity 包含一个水平样式的 ProgressBar。单击菜单项时,我会生成一个 Service,它是 onCreate(),我希望能够在其中更新进度条。
我的问题:我错过了什么?
- 活动“a”(带有 ProgressBar)
2.“a”.onOptionsItemSelected():生成服务“b”
3.“b”.onCreate():控制“a”中的ProgressBar //这就是我的麻烦
进度条布局(一):
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_height="wrap_content"
android:max="100"
android:progress="0"
android:secondaryProgress="0"
android:layout_width="300px"
android:layout_marginLeft="10px"
android:id="@+id/progress_horizontal"
/>
"a".onOptionsItemSelected(2):
public boolean onOptionsItemSelected(MenuItem item)
{
if (svc == null)
{
android.util.Log.v("@@@@@@@@@@@@@@@@@@@@@", "starting");
svc = new Intent(this, DoScan.class);
// done in "a".onCreate()
// hmap = new HashMap();
// hmap.put("tv", tv);
svc.putExtra("hmap", hmap);
startService(svc);
}
break;
}
"b".onCreate() (3):
@Override
public void onCreate() {
super.onCreate();
//startThread();
TextView tv = (TextView) Peekaboo.hmap.get("tv");
tv.append("cocktail");
}
【问题讨论】:
-
我正在寻找的是 Activity 与生成的服务器进行通信的一种方式..
标签: android multithreading service android-activity android-progressbar