2011-09-23 74 views
0

我有一個佈局文件下面的TextView,這是佈局文件的全部內容:的Android TextView的鑄造錯誤:android.widget.LinearLayout不能轉換到android.widget.TextView

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/seasonTitle" 
    android:padding="3dip" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textColor="#FFFFFFFF" 
    android:textSize="14sp" 
    android:textStyle="bold" 
    android:maxHeight="26sp" 
    android:background="#FFCC3333" 
    /> 

它已經在我的應用程序一年左右沒有問題。突然間,我得到的錯誤:android.widget.LinearLayout不能投射到android.widget.TextView

我無法弄清楚。

佈局文件充有這樣的代碼:

TextView seasonTv = (TextView)mInflater.inflate(R.layout.section_title, null); 

上爲什麼發生這種情況的任何見解?

謝謝!

回答

0

看來您傳遞null作爲視圖組的根元素。我認爲,當你根本沒有一個視圖組時,inflater會默認你的視圖組爲線性佈局。我會嘗試修改您的充氣呼叫,因爲您的佈局文件顯示正常。

來源:http://developer.android.com/reference/android/view/LayoutInflater.html

+0

你的答案解決了眼前的問題,謝謝你!,但它讓我感到困惑。請幫助我更好地理解這一點。此代碼在一年的較好時間內一直在運行。代碼10行以上的相同的基本線路運行良好。爲什麼行爲會像那樣變化? –

+0

只是一個猜測,但是其他佈局是一個視圖組的形式,還是它是一個textview?我會說,如果它是一個視圖組,線性佈局默認不會傷害任何東西。除此之外,我真的不確定爲什麼這個調用適用於一種佈局而不是另一種佈局。 – Jlange

+0

感謝您的跟進。不,這是一個調用相同的佈局文件並將其轉換爲TextView。它早些時候是12行... –

0

試試這個

View season = (View)mInflater.inflate(R.layout.section_title, null); 
TextView seasonTv = (TextView)findViewById(R.id.seasonTitle); 

你試圖誇大佈局,將其轉換爲TextView的部件。 你應該充氣佈局和找到小工具

+0

你是說佈局文件中的視圖必須具有基於ViewGroup/Layout的視圖作爲父視圖嗎?我已經理解,在佈局文件中允許任何視圖。 –

相關問題