0

我有一个奇怪的问题。在运行我的 Android 应用程序时,我收到异常:

java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.RelativeLayout

代码,我尝试在其中获取 relativeLayout

v = inflater.inflate(R.layout.home, null);
RelativeLayout btn = (RelativeLayout) v.findViewById(R.id.my_button);

在xml中,我有这个:

<RelativeLayout                
                android:id="@+id/my_button" 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="@drawable/button_selector"/>

在调试时,我注意到在 v 中有一个 mID 等于 R.id.my_button 的 Button。

虽然,当我将 xml 中的 id 和代码更改为其他任何内容时,我收到 NullPointerException。

任何想法为什么会发生这种情况?

编辑:也许它会有所帮助,如果我在该文件的旧版本中添加了 Button,但被替换为 RelativeLayout。我正在使用 GIT。项目被清理了很多次,eclipse也重新启动了。

4

2 回答 2

0

删除 R.Java 文件,重新创建后运行应用程序,它将正常工作。

于 2012-02-23T21:26:10.100 回答
0

问题是我又制作了一个我忘记的布局文件,它是针对不同配置的相同活动。问题解决了。

于 2012-05-10T09:40:05.763 回答