172

アプリを実行すると、タイトルから例外が発生します。ハングマン ゲームの単語を含む .txt ファイルがあり、ファイルにアクセスすると例外がスローされると思います。私のファイル、cuvinte.txt は /assets/ にあります。これが私のコードです(レイアウト/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() 関数で呼び出されます。

4

9 に答える 9

18

この例外を引き起こす可能性のある別のシナリオは、DataBinding を使用する場合です。つまり、レイアウトでこのようなものを使用する場合です。

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>

        <variable
            name="model"
            type="point.to.your.model"/>
    </data>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@{model.someIntegerVariable}"/>

</layout>

使用している変数は整数であり、TextView のテキスト フィールドに割り当てていることに注意してください。TextView には既に署名付きのメソッドがあるため、setText(int)を使用する代わりにこのメソッドを使用しsetText(String)て値をキャストします。したがって、TextView は、入力番号を明らかに無効なリソース値と見なします。

解決策は、int値を次のように文字列にキャストすることです

android:text="@{String.valueOf(model.someIntegerVariable)}"
于 2016-06-17T15:54:01.847 に答える
1

アダプターからテキストをテキストビューに設定したい場合のように、ソースが好きではないために、これが発生することがあります。

 textView.setText(""+name);

のようなものを書くと

 textView.setText(name);

これは機能せず、string.xml ファイルからリソースが見つからない場合があり、このタイプのエラーが発生します。

于 2018-09-30T10:47:43.513 に答える