Android彩色视图包含textviews

时间:2012-10-30 11:54:34

标签: android view viewgroup

我做了一个程序,在窗口顶部(标题栏右下方)有一个视图。 根据程序中的内容,视图的颜色会发生变化。

这很好用。

现在我的问题是:我想在里面放两个文本视图,彼此相邻。可能是: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>
...

3 个答案:

答案 0 :(得分:1)

您在View标记内放置了多个元素。 View没有孩子视图,有ViewGroup类。请改用FrameLayoutLinearLayoutRelativeLayout中的一个。

答案 1 :(得分:1)

请勿使用View。将您的View更改为ViewGroup。 View和ViewGroup之间的区别在于ViewGroup CAN包含其他视图。如果您想在其中添加一些TextView和其他内容,则应使用ViewGroup或某种布局,例如LinearLayoutRelativeLayout

答案 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);