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

我有类似的问题。R.java根据xml中的android:id生成ID:
public static final int imageButton01=0x7f050001;
public static final int definition=0x7f050002;

当我添加新的 imagebutton R.java 将更新为
public static final int imageButton01=0x7f050001;
public static final int imageButton02=0x7f050002;
public static final int definition=0x7f050003;

由于同步问题R.id.definition返回旧 ID但根据更新的 R.java 它对应于另一个元素(ImageButton02)0x7f050002mDefinition = (TextView) findViewById(R.id.definition);

所以我们有 ClassCastException

于 2011-10-11T19:19:55.080 回答
3

从它的样子来看,XML 中有一个 ID 为“定义”的 ImageButton,您正试图将其转换为 TextView。将您的 TextView 转换为 ImageButton。

于 2010-12-29T16:38:37.957 回答
0

解决方法:在布局 XML 和 findViewById() 中分配一些新的“id”值。

这很可能是一个错误。

于 2014-03-27T07:43:50.610 回答