我试图TextViews
在代码中添加到xml定义的布局中。我有一个xml工作表,其中Views
定义了很多。但是我必须在代码中添加一些视图,因此LinearLayout
在xml-sheet中创建一个:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:id="@+id/info"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
在这种布局中,我想添加我的TextView
:
View linearLayout = findViewById(R.id.info);
//LinearLayout layout = (LinearLayout) findViewById(R.id.info);
TextView valueTV = new TextView(this);
valueTV.setText("hallo hallo");
valueTV.setId(5);
valueTV.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
((LinearLayout) linearLayout).addView(valueTV);
但是我只收到以下错误消息:
: java.lang.ClassCastException: android.widget.TextView
我该怎么做?
感谢您的帮助。马丁
该例外适用于哪一行?它必须来自LinearLayout强制转换,您确定linearLayout变量是LinearLayout而不是TextView吗?另外,您不应该指定ID,因为无法保证ID是唯一的。
—
罗比·庞德
您是对的,linearLayout是TextView,但是为什么呢?我已经在xml文件中将其定义为LinearLayout ...
—
Martin 2010年
确保您确实在上面显示的xml上进行操作。
—
罗贾2011年
setContentView(R.layout.your_xml_layout);
真的是加载正确的xml吗?您还有其他使用XML布局的XML布局android:id="@+id/info"
吗?
这个问题解决了吗?请接受作为答案或发表一个。
—
塔哈(Talha)