2010-07-08 87 views
19

當一個按鈕被點擊,下面的方法被運行:動態添加到的TableRow TableLayout

public void createTableRow(View v) { 
    TableLayout tl = (TableLayout) findViewById(R.id.spreadsheet); 
    TableRow tr = new TableRow(this); 
    LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 
    tr.setLayoutParams(lp); 

    TextView tvLeft = new TextView(this); 
    tvLeft.setLayoutParams(lp); 
    tvLeft.setBackgroundColor(Color.WHITE); 
    tvLeft.setText("OMG"); 
    TextView tvCenter = new TextView(this); 
    tvCenter.setLayoutParams(lp); 
    tvCenter.setBackgroundColor(Color.WHITE); 
    tvCenter.setText("It"); 
    TextView tvRight = new TextView(this); 
    tvRight.setLayoutParams(lp); 
    tvRight.setBackgroundColor(Color.WHITE); 
    tvRight.setText("WORKED!!!"); 

    tr.addView(tvLeft); 
    tr.addView(tvCenter); 
    tr.addView(tvRight); 

    tl.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
} 

R.id.spreadsheet是一個XML TableLayout。我可以從調試中看到該方法正在被訪問,但沒有任何東西被繪製到屏幕上。是什麼賦予了?我是否需要以某種方式重置內容視圖?

回答

27

事實證明,Eclipse並不總是對的。 Ctrl + Shift + M進行了錯誤的導入。它應該有import android.view.ViewGroup.LayoutParamsimport android.widget.TableRow.LayoutParams

現在一切正常。

+0

我們可以設置這些視圖的對齊,邊距和位置嗎? – 2014-06-03 06:13:33

相關問題