繁体   English   中英

ClassCastException:android.widget.Button

[英]ClassCastException: android.widget.Button

我这里有一个非常奇怪的问题。

我有这行代码:

SeekBar mProgressBar =  (SeekBar) findViewById(R.id.SeekBar);

它会抛出一个ClassCastException:android.widget.Button,如标题所示。 XML文件如下所示:

...
<SeekBar
android:id="@+id/SeekBar"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
/>
...

如果我将代码更改为

Button mProgressBar =  (Button) findViewById(R.id.SeekBar);

它“有效”(即单行有效。程序因其他原因而失败,因为它现在是一个按钮)。 我在另一个文件中有完全相同的行没有问题。 知道什么可能是错的吗?

必须是过时的自动生成的R类。 有时它会搞砸了,我刚才就知道了。 尝试清理项目并重新重建。 或者在布局XML中更改一些东西并保存,Eclipse应该刷新R类(也就是说,如果你正在使用eclipse)。

如果它是一个过时的R类而你的Eclipse没有更新它,那么只需创建一个新的XML布局文件,其内容与前一个相同。 然后删除以前的布局文件。 然后应更新您的R类。 我经常在Linux上遇到这个问题,这是适合我的解决方案。

选择项目- >清除解决在Linux上我的问题,因为R类没有得到重新...

您是否检查过导入的右侧库中是否有正确的Button类。 有时其他库可以提供自己的实现,Eclipse将通过android.widget.Button选择它们。 显然这会导致崩溃,因为你的布局将引用android库中的按钮。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM