2

我一直在调整我的主要 xml 布局,调整不同视图在我的相对布局中的位置,突然当我在模拟器上启动它时,它崩溃并显示消息:ClassCastException

我的 XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center" >

 <com.example.bingbong.Render
    android:id="@+id/render"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@color/pattern5"
    android:clickable="true" />

<TextView
    android:id="@+id/fps"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="fpasds"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/score_top"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:text="asd"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/score_bot"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    android:text="asfa"
    android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>

错误日志:

10-30 20:25:33.266: E/AndroidRuntime(269): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.bingbong/com.example.bingbong.Main_Activity}: java.lang.ClassCastException: android.widget.TextView
...
10-30 20:25:33.266: E/AndroidRuntime(269): Caused by: java.lang.ClassCastException: android.widget.TextView
10-30 20:25:33.266: E/AndroidRuntime(269):  at com.example.bingbong.Main_Activity.onCreate(Main_Activity.java:26)

Main_Activity - 第 26 行是:

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.main_layout);
        r = (Render) findViewById(R.id.render);   // <--- Line 26.
        r.setView((TextView)findViewById(R.id.fps),(TextView)findViewById(R.id.score_top),(TextView)findViewById(R.id.score_bot));
    }
4

2 回答 2

4

如果我在视图中移动或更改视图类型(即,将 TextView 更改为 Button 或类似的东西),我偶尔会遇到这种情况。通常为我解决它的是做一个干净的构建。

在 Eclipse 的“项目”菜单中,选择“清理...”并执行所有项目或选择该特定项目。

于 2012-10-30T20:38:15.927 回答
0

你需要清理项目,我经常收到这个错误

于 2012-10-30T20:54:31.987 回答