android - 动态创建的 Android TableLayout 中未显示内容

标签 android android-layout tablelayout

我正在尝试制作一个 3 列的 TableLayout 但我什么也没看到。这是我的java代码:

         TableLayout tl = (TableLayout)findViewById(R.id.tableLayout1);
         TableRow tr = new TableRow(this);
         tr.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));


         TextView tv = new TextView(this);
         tv.setLayoutParams(new LayoutParams(
                   LayoutParams.FILL_PARENT,
                   LayoutParams.WRAP_CONTENT));
         tv.setText(data[0]);
         tr.addView(tv);

         TextView tv1 = new TextView(this);
         tv1.setLayoutParams(new LayoutParams(
                 LayoutParams.FILL_PARENT,
                 LayoutParams.WRAP_CONTENT));
         tv1.setText(data[1]);
         tr.addView(tv1);

         TextView tv2 = new TextView(this);
         tv2.setLayoutParams(new LayoutParams(
               LayoutParams.FILL_PARENT,
               LayoutParams.WRAP_CONTENT));
         tv2.setText(data[2]);
         tr.addView(tv2);

        /* Add row to TableLayout. */
        tl.addView(tr,new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

这是我的 XML 文件:

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



<TableLayout
    android:id="@+id/tableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="350dp"
    android:layout_marginTop="10dp"
    >

</TableLayout>


<Button
    android:id="@+id/BorrarPedido"
    android:layout_width="204dp"
    android:layout_height="wrap_content"
    android:text="Borrar Pedido"
    android:layout_gravity="center" />

<Button
    android:id="@+id/EnviarPedido"
    android:layout_width="204dp"
    android:layout_height="wrap_content"
    android:text="Enviar Pedido"
    android:layout_gravity="center" />

   </LinearLayout>

我没有收到任何错误消息,我什么也没有得到。问题是,除了 TableLayout 之外的 2 个 Buttons 之外,我看不到任何东西。知道为什么会发生这种情况吗?

最佳答案

您的 TextViewTableRow 的子级,因此您应该为 LayoutParams 设置 TableRow.LayoutParams 的实例code> 而不是您当前使用的简单的(可能来自 ViewGroup 父类(super class)):

//...
        TextView tv = new TextView(this);
        tv.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT,
                TableRow.LayoutParams.WRAP_CONTENT));
        tv.setText("text 1");
        tr.addView(tv);

        TextView tv1 = new TextView(this);
        tv1.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT,
                TableRow.LayoutParams.WRAP_CONTENT));
        tv1.setText("text 2");
        tr.addView(tv1);

        TextView tv2 = new TextView(this);
        tv2.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT,
                TableRow.LayoutParams.WRAP_CONTENT));
        tv2.setText("text 3");
        tr.addView(tv2);
//...

关于android - 动态创建的 Android TableLayout 中未显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10154800/

相关文章:

android - 以编程方式将文本添加到android中的图像

Android:设置 View 的 setVisibility(visible) 时 TableLayout 发生变化

html - 如何在 CSS 中指定表格填充? (表格,不是单元格填充)

java - 将 Android Java 模块转换为普通 Java 模块需要执行哪些步骤?

java - Android 上的 Flutter path_provider 错误,而在 iOS 上运行完美

java - 我应该将我的 SQLite 类变成单例吗?

android - 如何在 listview 加载 android 中的项目时实现这种效果?

android - WebView 中的 IndexOutOfBoundsException

c# - 如何在 MonoDroid 的代码隐藏中设置边距?

java - Android Studio 项目无法正确编译