java - AsyncTask 与 ImageView 发生错误

标签 java android eclipse android-asynctask imageview

我正在为我的大学做一个项目。但我尝试在半小时内学会 AsyncTask。难的! 我制作了一款“西蒙”游戏,我需要颜色一秒一秒地闪烁。但我不明白这个错误以及如何解决...

对不起,我的英语不好,我是巴西人。

那是我的 AsyncTask 类...

package com.example.genius;

import android.os.AsyncTask;
import android.widget.ImageView;

public class Queue extends AsyncTask<Void, Void, ImageView> {
    protected ImageView doInBackground(Void... params) {
        ImageView imagem;
        int i = GameActivity.numCor;
        imagem = GameActivity.cor;
        if(i == 0)
            imagem.setImageResource(R.drawable.greenlight);
        if(i == 1)
            imagem.setImageResource(R.drawable.redlight);
        if(i == 2)
            imagem.setImageResource(R.drawable.yellowlight);
        if(i == 3)
            imagem.setImageResource(R.drawable.bluelight);
        return imagem;
    }

    protected ImageView onPostExecute() {
        ImageView imagem;
        int i = GameActivity.numCor;
        imagem = GameActivity.cor;
        try {
            Thread.sleep(1000);
        }catch(Exception e) {}

        if(i == 0)
            imagem.setImageResource(R.drawable.green);
        if(i == 1)
            imagem.setImageResource(R.drawable.red);
        if(i == 2)
            imagem.setImageResource(R.drawable.yellow);
        if(i == 3)
            imagem.setImageResource(R.drawable.blue);
        return imagem;
    }
}

还有我的 GameActivity 的方法,我在其中调用 AsyncTask 类...

public void PiscarVerde() {

            numCor = 0;
            cor = (ImageView)findViewById(R.id.green);
            Queue queue = new Queue();
            final MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.gr);
            mediaPlayer.start();
            queue.execute();
}

可以帮我解决这个问题吗?谢谢

最佳答案

您的 onPostExecute 签名错误,请更改:

protected ImageView onPostExecute() {

protected void onPostExecute(ImageView result) {

你也没有真正写出什么问题,问题出在哪里

顺便说一句。在Java中一个好的做法是在重写方法时添加@Override注解,如果出错,编译器会输出错误,例如:

@Override 
protected void onPostExecute(ImageView result) {

关于java - AsyncTask 与 ImageView 发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27172279/

相关文章:

java - ActiveMQConnectionFactory 发送超时

java - 生成一个包含整数 (0, 1, -1, 2, -2, 3, -3, ...) 的无限 Stream<Integer>

android - 与多屏幕支持相关的布局问题

java - 在 Android 中使用本地 json 文件

java - 如何检查是否已在 Java 中创建/调用对象? ( eclipse 集成开发环境)

java - 为 Java Web 服务创建客户端

java - Couchbase:将 View 添加到现有设计文档

java - 如何评估以字符串形式给出的数学表达式?

java - 从/向路径读取和写入 CSV

android - 在协程中等待监听器内的数据