imageButton上的Android setImageResource

时间:2016-12-16 10:36:04

标签: android android-imagebutton

我写了一个记忆游戏应用程序,我有一个名为" OnImageButtonClick"我在布局中插入每个imageButton的onClick属性。 当你点击它应该改变它的图像的图像,但真正发生的是,只有在函数结束后,图像才会真正改变。

{% for itemOrg in listOrganismeFav   %}

<td>
     {% for itemChamp in listChampTableOrgGest   %}

                   <a href="#">{{ itemOrg[itemChamp.champ] }}</a>

    {% endfor  %} 
</td>
{% endfor  %}

问题是PickCard在图像实际发生变化之前发生。

1 个答案:

答案 0 :(得分:0)

试试这个,有点复杂,但可能有效:

创建一个Asynctask并执行第一个方法(更改图像资源),然后执行第一个方法,然后onPostExecute方法调用PickCard()。

以下是一些如何执行此操作的文档: https://developer.android.com/reference/android/os/AsyncTask.html

public class ImgBtnClick extends AsyncTask<ImageButton, Void, Void> {


public ImgBtnClick (Context contexts) {
    context = contexts;
}


@Override
protected void onPreExecute() {
     //Insert Here the code to change the Image resource
    /*
int cardIndex = Integer.parseInt(v.getTag().toString());
ImageButton card = (ImageButton)v;
Resources resources = this.getResources();
int imageId = resources.getIdentifier(imageArr[cardIndex-1], "drawable", this.getPackageName());
card.setImageResource(imageId);


if(isFirst) {
    pickedCards[0] = card;
}
else {
    pickedCards[1] = card;
}
    */
}

@Override
protected void onPostExecute(String[] result) {
    PickCard()
  }

}