当我运行我的应用程序时,我从标题中得到了异常。它的作用是它有一个带有 Hangman 游戏单词的 .txt 文件,我认为访问该文件时会引发异常。我的文件 cuvinte.txt 位于 /assets/。这是我的代码(我跳过了 layout/xml 部分,它工作正常):
public void onCreate() { // all the onCreate() stuff, then this: try { AssetManager am = this.getAssets(); InputStream is = am.open("cuvinte.txt"); InputStreamReader inputStreamReader = new InputStreamReader(is); BufferedReader b = new BufferedReader(inputStreamReader); String rand; while((rand=b.readLine())!=null){ cuvinte.add(rand); } } catch (IOException e) { Toast.makeText(this, "No words file", Toast.LENGTH_LONG).show(); e.printStackTrace(); } newGame(newG); } public void newGame(View view){ Random rand = new Random(); String stringCuvant = cuvinte.get(rand.nextInt(cuvinte.size())); cuvant.setText(""); System.out.println(stringCuvant); for(int i = 0; i< stringCuvant.length(); i++){ cuvant.append("_ "); } incercari.setText(valIncercari); }
当新游戏按钮被按下时和活动开始时,函数 newGame() 都会在 onCreate() 函数中被调用。
(只是假设,Exception stacktrace 的信息较少)
我认为,这条线incercari.setText(valIncercari);会抛出异常,因为valIncercari是int
incercari.setText(valIncercari);
valIncercari
int
所以应该是
incercari.setText(valIncercari+"");
或者
incercari.setText(Integer.toString(valIncercari));