2012-12-05 30 views
0

考慮包含此的LinearLayout ..爲什麼這個嵌套的TextView不工作,而其他人在相同的代碼中工作?

  • 一個嵌套線性佈局有兩個孩子觀看

    • 一個ImageView的

    • 一個TextView的

  • 一個的TextView

  • 單鍵

爲什麼能成功地顯示在使用findViewById和的setText而內部的TextView(嵌套線性視圖內)示出了坯件的外TextView的文本內容?

這裏是的onCreate代碼:

LayoutInflater inflater = LayoutInflater.from(Item.this); 
LinearLayout itemLayout = (LinearLayout)inflater.inflate(R.layout.activity_item, null);    
Button proformaButton = (Button)itemLayout.getChildAt(2); 

roformaButton.setOnClickListener(this); 


setContentView(itemLayout); 

TextView titleTitla = (TextView)findViewById(R.id.item_title); 
TextView itemBody = (TextView)findViewById(R.id.item_body); 

titleTitla.setText("Tomatoes"); 
itemBody.setText("Potatoes"); 

在調試我可以看到視圖被Id發現,我還可以看到的setText它的工作原理(TextView中的MTEXT領域),但活動不會顯示任何item_title。

我在問如何解決這個問題,但如果這不是一件容易的事情,那麼我們將非常感謝一些解釋。

如果有幫助,這裏的XML:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dip" 
     android:orientation="horizontal" 
     android:layout_weight="1"> 

     <ImageView 
      android:id="@+id/item_picture" 
      android:layout_width="0dip" 
      android:layout_height="fill_parent" 
      android:contentDescription="@string/image_item"> 
     </ImageView> 

     <TextView 
      android:id="@+id/item_title" 
      android:layout_width="0dip" 
      android:layout_height="fill_parent"> 
     </TextView> 

    </LinearLayout> 

    <TextView 
     android:id="@+id/item_body" 
     android:layout_width="fill_parent" 
     android:layout_height="0dip" 
     android:layout_weight="2"> 
    </TextView> 

    <Button 
     android:id="@+id/btnOrderItem" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/order_button" 
    /> 

</LinearLayout> 

回答

4
<TextView 
     android:id="@+id/item_body" 
     android:layout_width="fill_parent" 
     android:layout_height="0dip" 
     android:layout_weight="2"> 
    </TextView> 

這是layout_height="0dp"。它在另一個LinearLayout上工作的原因是因爲你有一個weight屬性。將0dp更改爲wrap_content

+0

err .. hnm ..謝謝dmon,我確信prob是在代碼中:) – quinestor

相關問題