好吧,我有我的数组,我正在调用我的数组,但它不会更新 Canvas 的背景?我究竟做错了什么?也许一些教程链接在这里会有帮助。谢谢。
int[] myImageList = {
R.drawable.lettersa, R.drawable.lettersb,
R.drawable.lettersc, R.drawable.lettersd,
R.drawable.letterse, R.drawable.lettersf, R.drawable.lettersg,
R.drawable.lettersh, R.drawable.lettersi, R.drawable.lettersj,
R.drawable.lettersk, R.drawable.lettersl, R.drawable.lettersm,
R.drawable.lettersn, R.drawable.letterso, R.drawable.lettersp,
R.drawable.lettersq, R.drawable.letterss, R.drawable.letterst,
R.drawable.lettersu, R.drawable.lettersv, R.drawable.lettersw,
R.drawable.lettersx, R.drawable.lettersy, R.drawable.lettersz};
mNextBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
int i;
if (mNextBtn.equals(mNextBtn)) {
for (i=0;i<myImageList.length;i++)
{
mSCanvas.setBackgroundResource(i);
}
return;
}
mNextBtn.setEnabled(mSCanvas.isUndoable());
}
});
最佳答案
Basically I want the canvas background to change to the next letter to trace upon click of the button
我推荐一种不同的方法:
mNextBtn.setOnClickListener(new OnClickListener() {
int i = 0;
public void onClick(View v) {
mSCanvas.setBackgroundResource(myImageList[i]);
i++;
if(i >= myImageList.length)
i = 0;
// I'm not sure what you want to do here, so I left it:
mNextBtn.setEnabled(mSCanvas.isUndoable());
return;
}
});
我改变了三个要点:
- 一次仅设置一个后台资源,循环会在几毫秒内设置每个后台资源,并且始终为您留下最后一个值。
- 可绘制资源是
myImageList[i]
,而不是mSCanvas.setBackgroundResource()
中的i
- 我不知道在任何情况下此
mNextBtn.equals(mNextBtn)
为 false...
关于java - android 数组通过可绘制资源与 onClick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15639618/