TableLayout中没有Textview

时间:2011-10-03 17:02:25

标签: android

此TableLayout中没有发生Textview。我不知道为什么。

我想手动输入。

另一个问题,我该如何添加水平线?

代码:

super.onCreate(savedInstanceState);
        setContentView(R.layout.overview);
        loadData();
        TableLayout tl = (TableLayout)findViewById(R.id.tl);
        TableRow tr = new TableRow(this);
        TextView tv = new TextView(this);
        TextView tv2 = new TextView(this);
        //tv.se
        tv.setGravity(Gravity.LEFT);
        tv2.setGravity(Gravity.RIGHT);
        tv.setText("Test");
        tv2.setText("Test ");
        tv.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f));
        tv2.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f));
        //tv.setTextSize(50);
        //tv2.setTextSize(50);
        tr.addView(tv);
        tr.addView(tv2);
        tl.addView(tr);
        setContentView(tl);

布局:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/tl">
</TableLayout>

2 个答案:

答案 0 :(得分:0)

问题可能是您没有为LayoutParams设置任何TableRow

尝试做这样的事情:

tr.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 

此外,如果您想添加水平线,只需添加新的View对象,并将其layout_height设置为1dp,将backgroundColor设置为Color.BLACK或者你想要的任何高度/颜色组合

答案 1 :(得分:0)

的setContentView(R.layout.main);

    TableLayout tl = (TableLayout)findViewById(R.id.tl);
    TableRow tr = new TableRow(this);
    TextView tv = new TextView(this);
    TextView tv2 = new TextView(this);
    //tv.se
    tv.setGravity(Gravity.LEFT);
    tv2.setGravity(Gravity.RIGHT);
    tv.setText("Test");
    tv2.setText("Test ");
    tr.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
 //   tv2.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f));
    //tv.setTextSize(50);
    //tv2.setTextSize(50);
    tr.addView(tv);
    tr.addView(tv2);
    tl.addView(tr);

main.xml中

<TableLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:id="@+id/tl">
</TableLayout>

使用

添加新的水平线