0

過去,每當我創建自定義表格佈局時,我都會在java中創建子視圖,然後使用tableRow.addView(childView)將它們添加到表格中。目前,我沒有手動創建所有的子視圖,而是使用xml創建它們,然後將它們充氣到tableRow中。如何將虛擬視圖添加到自定義tableLayout

所以比如我做

RelativeLayout gameView = (RelativeLayout) mInflater.inflate(R.layout.my_game, 
      new RelativeLayout(context)); 
… //edits to gameView 
gameView.requestLayout(); 
((ViewGroup) gameView.getParent()).removeAllViews(); 
tableRow.addView(gameView); 
addView(tableRow); 

我的問題卻是:如果我離開了線((ViewGroup) gameView.getParent()).removeAllViews()然後我得到的是,鑑於已經有一個父一個錯誤,我必須首先請revomeView孩子的父母。無法找到任何稱爲removeView的方法,我使用removeAllViews。但是當我這樣做的時候,我得到了一個N​​ullPointerException異常。

所以問題:我如何膨脹一個視圖,然後將其添加到表佈局?

回答

1

嘗試改變這一行

RelativeLayout gameView = (RelativeLayout) mInflater.inflate(R.layout.my_game, 
     new RelativeLayout(context)); 

RelativeLayout gameView = (RelativeLayout) mInflater.inflate(R.layout.my_game, 
     null); 
+0

我已經做到了。沒有。 –

相關問題