-3

無法找到此錯誤的來源。 看到了關於同一問題的其他問題,這通常是由於缺少結束標籤而導致的。但找不到哪一個在我的代碼是缺少...android.widget.TextView無法轉換爲android.view.ViewGroup0

我主要activity.xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" 
android:orientation="horizontal"> 

<TextView 
    android:text="@string/main_textview" 
    android:layout_width="0px" 
    android:layout_weight="2" 
    android:background="#FFF8DC" 
    android:padding="@dimen/component_padding" 
    android:layout_height="match_parent" > 
</TextView> 

<TextView 
    android:id="@+id/simplefragment" 
    android:layout_width="0px" 
    android:layout_weight="2" 
    android:orientation="vertical" 
    android:padding="@dimen/component_padding" 
    android:layout_height="match_parent" > 
</TextView> 

</LinearLayout> 

而且一個片段:

<TextView 
    android:text="@string/hello_world" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 
</TextView> 

</LinearLayout> 

logcat的說:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.melle.androidfragments/com.example.melle.androidfragments.MainActivity}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.view.ViewGroup 

Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.view.ViewGroup 
+0

你是否試圖使用TextView作爲Fragment的容器? – Blackbelt

+0

檢查http://stackoverflow.com/questions/8526264/android-widget-textview-cannot-be-cast-to-android-view-viewgroup –

+0

@Blackbelt的確我想用它作爲碎片的容器,什麼我做錯了嗎? – MelleBra

回答

1

Viewgroup意味着可以有其他v在裏面看。你正在打開和關閉你的TextViews,當他們不能時,讓他們成爲一個組。

根據您發佈的代碼,解決辦法是刪除所有</TextView>/>直接在屬性年底關閉它,這樣,例如:

<TextView 
    android:id="@+id/simplefragment" 
    android:layout_width="0px" 
    android:layout_weight="2" 
    android:orientation="vertical" 
    android:padding="@dimen/component_padding" 
    android:layout_height="match_parent" /> 

爲此在所有的你的TextViews。此外,請檢查是否有一些<TextView>標記與其中的任何其他視圖,如果是的話,那麼你應該刪除它並放在別的地方。

0

我想你可能有findViewById特定的TextView和鑄造這是一個ViewGroup中如此例如:

的ViewGroup simpleFragment =(ViewGroup中) findViewById(R.id.simplefragment);

您不能將textview轉換爲viewGroup,因爲它不是ViewGroup,textview是View。

如果你看一下android的文檔,TextView的擴展視圖:http://developer.android.com/reference/android/widget/TextView.html

ViewGroups都喜歡的RelativeLayout或LinearLayouts或可在其內部包含多個視圖FrameLayouts對象。

相關問題