我有一个奇怪的问题。在运行我的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。
虽然,当我将xml中的id和代码更改为其他任何内容时,我收到NullPointerException。
为什么会发生这种情况的任何想法?
编辑: 也许它会有所帮助,如果我在该文件的旧版本中添加了Button,但是被RelativeLayout取代了。我正在使用GIT。项目被多次清理,eclipse也重新启动。
答案 0 :(得分:0)
删除R.Java文件,一旦重新创建运行应用程序,它将正常工作。
答案 1 :(得分:0)
问题是我已经制作了一个我忘记的布局文件,它是针对不同配置的相同Activity。问题解决了。