2012-10-30 62 views
0

我製作了一個程序,該視圖位於窗口頂部(標題欄下方)的頂部。 根據該程序中的內容,視圖的顏色將會改變。包含文字視圖的Android彩色視圖

這工作得很好。

現在我的問題是:我想要2個textviews裏面,彼此相鄰。所以可能:視圖,Tablelayout,表格,文本視圖,文本視圖,表格結束,表格佈局結束,查看結束。

但這似乎並不奏效。它給了我錯誤「Java.lang.RuntimeException:無法啓動活動ComponentInfo」和「查看不能轉換爲視圖組」。

無處在Java代碼中做我接觸任何的XML代碼的新觀點,觸及的是XML,是TopView = (View)findViewById(R.id.TopView);TopView.setBackgroundColor(Color.GREEN); TOPVIEW是外觀圖,和完美的作品裏面沒有任何東西是唯一的Java。

這是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> 
... 

回答

1

View內不能有child-views

A View is always佈局層次結構中的葉節點。

1.Re寫你的XML佈局作爲第一行:

<LinearLayout 
    android:id="@+id/TopView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#8E8E8E"> 

2.Change相應的Java如下代碼:

TopView = (LinearLayout)findViewById(R.id.TopView); 
+0

我沒有看到你寫的XML中的變化? 將視圖更改爲視圖組,我仍然能夠更改視圖的背景顏色(即現在的視圖組)?或者我需要改變視圖組內tablelayout的顏色? – user1285334

+0

是的,ViewGroup的背景可以改變,就像你改變它的方式一樣。查看 – Agata

+0

我編輯了我的答案。是的,您可以在更改後更改「ViewGroup」的背景顏色。希望這可以幫助。 – Gagan

1

要放置多個元素View標籤內。 View的不要抱孩子的意見,這裏有ViewGroup班。改爲使用FrameLayout,LinearLayout,RelativeLayout之一。

1

請勿使用View。將您的View更改爲ViewGroup。 View和ViewGroup的區別在於ViewGroup CAN包含其他視圖。如果你想在其中放置一些TextViews和其他東西,你應該使用ViewGroup或某種佈局,如LinearLayoutRelativeLayout