R.stringクラスの単純な文字列を比較しようとしていますが、問題があります。
if(this.b1.getText().equals(R.string.stop_track))
b1テキストはstop_trackテキストと同じですが、なぜ誤った結果が得られるのですか?
R.string.stop_track
はint
文字列の識別子であり、値ではありません。次のコード行を使用してみてください。
if(this.b1.getText().equals(getString(R.string.stop_track)))
R.string.stop_track
それ自体は、整数形式の単なる参照です。
は整数を返すためエラーがR.string.stop_track
発生します。コードの代わりに以下のコードを記述してください。問題が解決します。
if(this.b1.getText().toString().equals(getResources().getString(R.string.stop_track)))