2011-09-23 55 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的视图作为父视图吗?我已经理解,在布局文件中允许任何视图。 –

相关问题