android等待线程的 Activity

标签 android multithreading android-activity wait

如何在 Activity 中等待线程处理。我的线程从远程服务器下载 .png 图片。我想等待下载图片,然后 Activity 将在处理中继续。

Activity

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.initializer);

    ImageView mainImageView = (ImageView) findViewById(R.id.imageView);
    ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);

    InitProgress initProgress = new InitProgress(progressBar); // initialization progress bar
    MyMap map = new MyMap(); // there is written the picture as Drawable from thread

    MapDownloader mapDownloader = new MapDownloader(map,initProgress); // thread that download picture from server

    // wait ???

    mainImageView.setBackgroundDrawable(buildingMap.getDrawableMap()); // using downloaded picture
    }

这段代码继续没有下载图片,图片是稍后下载的。信号量适合这个目的吗?

最佳答案

如果您不想受限于 ASyncTask,请使用 BroadcastReceiver。您将通过在 Activity 的 OnResume() 方法中注册来监听主类中的 BroadcastReceiver。当您的服务或后台 Activity 完成时,您将触发 BroadcastReceiver 以告知 Activity 后台服务已完成。

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class MyReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Intent service = new Intent(context, WordService.class);
        context.startService(service);
        }

关于android等待线程的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8764067/

相关文章:

python - 如何减少Python中的线程切换延迟

java - 一个消费者多个主题会导致潜在的线程问题吗?

ios - 将自定义 Activity 添加到 UIActivityController 时出现问题

android - 唤醒锁似乎不起作用

java - 将文件从内部存储复制到外部存储

android - 测试失败后从 ActivityTestRule 重新启动 Activity

c - 当我们从任何一个线程中出来时,如何杀死剩余的线程?

Android 风格 Intent Activity

android - 如何在 Activity 中访问布局-大布局?

java - android - 如何获取当前方向?