3

私は「検索可能な辞書」をいじってAndroid開発に取り掛かります。

私の問題はClassCastException、XMLレイアウトを変更するときにいくつか取得することです。

私の推測では、Rファイルは古くなっていますが、奇妙なことに、再作成した後も問題が解決していません。

これが関連するコードとログです:

ログファイル:

原因:java.lang.ClassCastException:android.widget.ImageButton E / AndroidRuntime(438):eu.accleaner.android.WordActivity.onCreate(WordActivity.java:87)

アクティビティの有罪判決を受けた行:

mDefinition = (TextView) findViewById(R.id.definition);

よろしくお願いします。

乾杯、

ヴィンセント

4

3 に答える 3

3

見た目からすると、XMLには「definition」というIDのImageButtonがあり、それをTextViewにキャストしようとしています。TextViewキャストをImageButtonに変更します。

于 2010-12-29T16:38:37.957 に答える
3

同様の問題がありました。R.java は、xml の android:id に基づいて ID を生成します。
public static final int imageButton01=0x7f050001;
public static final int definition=0x7f050002;

新しいイメージボタンを追加すると、R.java が更新されます
public static final int imageButton01=0x7f050001;
public static final int imageButton02=0x7f050002;
public static final int definition=0x7f050003;

同期の問題でR.id.definition古いID0x7f050002を返しますがmDefinition = (TextView) findViewById(R.id.definition);、更新されたR.javaに合わせて別の要素(ImageButton02)に対応しています。

したがって、 ClassCastException があります

于 2011-10-11T19:19:55.080 に答える