我做了一个程序,在窗口顶部(标题栏右下方)有一个视图。 根据程序中的内容,视图的颜色会发生变化。
这很好用。
现在我的问题是:我想在里面放两个文本视图,彼此相邻。可能是:View,Tablelayout,tablerow,textview,textview,tablerow end,tablelayout end,view end。
但这似乎不起作用。它给了我错误“Java.lang.RuntimeException:无法启动活动ComponentInfo”和“视图无法转换为视图组”。
在java代码中没有任何地方可以触摸xml代码中的任何新视图,唯一触及该XML的java是TopView = (View)findViewById(R.id.TopView);
和TopView.setBackgroundColor(Color.GREEN );
Topview是外部视图,并且工作完美内心没有任何东西。
这是XML代码
...
<View
android:id="@+id/TopView"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:background="#8E8E8E" >
<TableLayout
android:id="@+id/tableTrolo"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/TableRow000"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:gravity="left"
android:orientation="vertical" >
<TextView
android:id="@+id/lbl1"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:text="Vare :"
android:textSize="22dp" />
<TextView
android:id="@+id/lbl2"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:text="du grim" />
</TableRow>
</TableLayout>
</View>
...
答案 0 :(得分:1)
您在View
标记内放置了多个元素。 View
没有孩子视图,有ViewGroup
类。请改用FrameLayout
,LinearLayout
,RelativeLayout
中的一个。
答案 1 :(得分:1)
请勿使用View
。将您的View
更改为ViewGroup
。 View和ViewGroup之间的区别在于ViewGroup CAN包含其他视图。如果您想在其中添加一些TextView和其他内容,则应使用ViewGroup
或某种布局,例如LinearLayout
或RelativeLayout
。
答案 2 :(得分:1)
child-views
内无法View
。
View
始终布局层次结构中的叶节点。
1.重新编写xml-layout的第一行:
<LinearLayout android:id="@+id/TopView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#8E8E8E">
2.更改相应的Java代码如下:
TopView = (LinearLayout)findViewById(R.id.TopView);