我在尝试刷新Android应用程序中的View时遇到问题。我有一个带图像的按钮,我需要做的是在有人点击按钮时更改图像。
问题出在哪里?在活动完成处理代码之前,图像不会刷新。知道如何在执行指令后立即刷新图像
buttton1.setBackgroundDrawable(getResources().getDrawable(R.drawable.f1));
答案 0 :(得分:1)
您是否考虑过使用xml并将drawable作为选择器,然后选择器将被特定的键/触摸事件选中以显示正确的图形..
答案 1 :(得分:0)
尝试运行从线程处理的方法。
ficha1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Button bot = (Button) findViewById(R.id.boton1);
bot.setBackgroundDrawable(getResources().getDrawable(R.drawable.f2));
//ficha.setText(fichas.get("boton1").toString());
new Thread(
new Runnable() {
public void run() {
controlJugada(fichas.get("boton1").toString(), bot);
}
}
).start();
}
});
答案 2 :(得分:0)
我通过将违规代码置于延迟为零的延迟处理程序中解决了类似的问题。
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// code slowing things down here
}
}, 0);
答案 3 :(得分:-1)
你在onclicklistener中做的第一件事就是改变按钮的背景