Android - RelativeLayout膨胀为Button?

时间:2012-02-23 19:51:03

标签: android xml inflate

我有一个奇怪的问题。在运行我的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也重新启动。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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