我得到致命的例外:主要

时间:2016-07-05 19:38:32

标签: java android null

我对Android很新,只是主要从教程视频中学习。当我尝试运行应用程序时,我遇到了一个致命异常的问题。我相信生成错误的代码部分在下面,我有一个char字母数组,我试图争抢,然后将某些按钮的文本设置为这些字母(即letter1A.setText(scrambleLettersChar [0])。我在代码的这一部分之上做了同样的事情并且工作得很好.TIA。

char[] solutionLetters = {letter1, letter2, letter3, letter4, letter5, letter6, letter7, letter8, letter9, letter10, letter11, letter12};

                for (int i = 0; i < solutionLetters.length; i++) {
                    int randomIndex = (int) (Math.random() * solutionLetters.length);
                    char temp = solutionLetters[i];
                    solutionLetters[i] = solutionLetters[randomIndex];
                    solutionLetters[randomIndex] = temp;

                }
                String scrambleLettersString = new String(solutionLetters);
                scrambleLettersChar = scrambleLettersString.toCharArray();

                letter1A.setText(scrambleLettersChar[0]);


            }

2 个答案:

答案 0 :(得分:1)

此行中的错误:

 letter1A.setText(scrambleLettersChar[0]);

将其更改为:

 letter1A.setText(scrambleLettersChar[0] + "");
  

原因是当你调用setText时...调用了setText(int resId)   而不是setText(CharSequence)

答案 1 :(得分:0)

library(shiny) library(shinyjs) library(shinyBS) shinyServer(function(input, output,session) { ntext <- eventReactive(input$goButton, { input$n }) shinyjs::disable("goButton2") output$nText <- renderText({ ntext() }) }) 是原因。您试图访问solutionLetters数组中超出范围的项目。

使用solutionLetters代替randInt(0, solutionLetters.size()-1

粗糙的代码,将来请发布您的堆栈跟踪。