2016-04-25 94 views
1

我正在嘗試充氣佈局資源並將其中的某些視圖移動到表格中。我從父母那裏刪除了這些意見,然後將它們添加到表格中。它可以工作,但我真正需要的是將它們添加到表中的TableRow中。但是,當我試圖這樣做時,什麼都沒有出現。無法將視圖移動到表格

爲了簡化示例,我只是在xml中使用視圖,而不是在代碼中生成視圖。在下面的XML中,有一個的TableRow一個TableLayout和ImageButton的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    ...>  

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/table"> 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/row_1"></TableRow> 
    </TableLayout> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="New Button" 
    android:id="@+id/button" /> 

</RelativeLayout> 

如果我移動的按鈕表,它的工作原理:

Button button = (Button) getActivity().findViewById(R.id.button); 
TableLayout table = (TableLayout) getActivity().findViewById(R.id.table); 
TableRow row = (TableRow) getActivity().findViewById(R.id.row_1); 

((ViewGroup)button.getParent()).removeView(button); 
table.addView(button); 

但是,如果我把它移到TableRow,該按鈕不會顯示出來。

row.addView(button); 

有沒有人有解決方案?

+0

你想添加按鈕是動態的。即:添加用戶希望的按鈕數量。或者 你想執行簡單的顯示/隱藏功能嗎? 如果是這樣,那麼您可以輕鬆設置按鈕的可見性並輕鬆完成此操作! –

+0

我試圖將一堆動態生成的視圖(如TextView,ImageView,CheckBox)移動到表中,因此可見性的更改不適用。 –

回答

1

嘗試將按鈕添加到行這樣的:

row.addView(button,new TableRow.LayoutParams(
       TableRow.LayoutParams.WRAP_CONTENT, 
       TableRow.LayoutParams.WRAP_CONTENT)); 
+0

工作!你讓我開心! –

+0

很高興工作:) – WannaBeGeek

相關問題