0

私のアプリは整数値をベクトルに追加し、そのベクトルのサイズを知りたがっています。

if(nearSelected||middleSelected||farSelected){
    ArrayList<Integer> distance = new ArrayList<Integer>();

    //Which distance(s) has the user selected?
    if(nearSelected){distance.add(1);}
    if(middleSelected){distance.add(2);}
    if(farSelected){distance.add(3);}       

    //Attempt to display the number of choices picked to the user
    try {
        Toast.makeText(getBaseContext(), distance.size(), Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
       Log.i(LOG_TAG, e.toString());
    }
}

残念ながら、取得しようとするdistance.size()NotFoundException. コードの他の部分はすべて正常に実行されますが、この部分だけがクラッシュします。私はどこで台無しにしましたか?

4

1 に答える 1

6

Distance.size()の原因ではありませResources.NotFoundExceptionToast.makeText整数をパラメーターとして呼び出すと、その整数を ID として持つ文字列リソースが検索されます。数値を文字列として表示する場合は、次のように指定する必要があります。

Toast.makeText(getBaseContext(), Integer.toString(distance.size()), Toast.LENGTH_SHORT).show();
于 2012-12-23T23:20:25.563 に答える