gpt4 book ai didi

java - AsyncTask 与 ImageView 发生错误

转载 作者:行者123 更新时间:2023-12-01 12:13:08 25 4
gpt4 key购买 nike

我正在为我的大学做一个项目。但我尝试在半小时内学会 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com