java - android 数组通过可绘制资源与 onClick 事件

标签 java android arrays android-resources

好吧,我有我的数组,我正在调用我的数组,但它不会更新 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;
    }
});

我改变了三个要点:

  1. 一次仅设置一个后台资源,循环会在几毫秒内设置每个后台资源,并且始终为您留下最后一个值。
  2. 可绘制资源是 myImageList[i],而不是 mSCanvas.setBackgroundResource() 中的 i
  3. 我不知道在任何情况下此 mNextBtn.equals(mNextBtn) 为 false...

关于java - android 数组通过可绘制资源与 onClick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15639618/

相关文章:

java - 验证 cron 表达式在 Java 中是否有效

java - Intellij 无法在类路径中找到类

android - 如何在WebView中打开youtube视频?

python - 排除区间的端点

javascript - 数组中的上一个/下一个项目

java - 如何在 Vaadin Spring Boot Web 应用程序中创建图像幻灯片?

java - 将外部 JAR 附加到 eclipse 中的 java 项目 - java.lang.NoClassDefFoundError

java - android-market 检索空结果

android - ImageView 内存泄漏 - 简单图像

javascript - 如何在 Chrome 应用程序上使用 Javascript 通过 UDP 发送字符串