【问题标题】:dynamically creating tablelayout (android)动态创建表格布局(android)
【发布时间】:2012-01-11 10:54:18
【问题描述】:

我想创建内部表格布局并添加 1 行 2 列,下面的代码什么也没有显示,为什么?

这里是主要活动:

public class TestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
            LayoutParams.WRAP_CONTENT);
    TextView tv1 = new TextView(this);
    TextView tv2=new TextView(this);
    tv1.setLayoutParams(params);
    tv2.setLayoutParams(params);
    tv1.setText("Hello1!");
    tv2.setText("Hello2!");
    TableLayout layoutINNER = new TableLayout(this);
    layoutINNER.setLayoutParams(params);
    TableRow tr = new TableRow(this);
    tr.setLayoutParams(params);
    tr.addView(tv1);
    tr.addView(tv2);
    layoutINNER.addView(tr);
    LinearLayout main = (LinearLayout)findViewById(R.id.android_main_layout);
    main.addView(layoutINNER);
}
}

XML:

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

更新:

好吧,我终于解决了这个问题,只需要将 TableRow.LayoutParams 与 TextViews 一起使用,而不是 LinearLayout.LayoutParams 或其他一些

【问题讨论】:

  • 您是否尝试过使用TableLayout.LayoutParams 代替您的TextViews 和TableRow?
  • 这就是您要查找的内容:warriorpoint.com/blog/2009/07/01/…
  • 我最近试过了,也不行

标签: android dynamic tablelayout


【解决方案1】:

这是工作代码:

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class TestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);
    LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
            LayoutParams.WRAP_CONTENT);
    TextView tv1 = new TextView(this);
    TextView tv2=new TextView(this);
    android.widget.TableRow.LayoutParams trparams = new TableRow.LayoutParams(android.widget.TableRow.LayoutParams.WRAP_CONTENT, android.widget.TableRow.LayoutParams.WRAP_CONTENT);
    tv1.setLayoutParams(trparams);
    tv2.setLayoutParams(trparams);
    tv1.setText("Hello1!");
    tv2.setText("Hello2!");
    TableLayout layoutINNER = new TableLayout(this);
    layoutINNER.setLayoutParams(params);
    TableRow tr = new TableRow(this);

    tr.setLayoutParams(params);
    tr.addView(tv1);
    tr.addView(tv2);
    layoutINNER.addView(tr);
    LinearLayout main = (LinearLayout)findViewById(R.id.android_main_layout);
    main.addView(layoutINNER);
}
}

【讨论】:

    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 2014-05-13
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    相关资源
    最近更新 更多