0 0

为何不能动态生成TableLayout ?10

我在做动态生成TableLayout中的内容,布局文件这样的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TableLayout
		    android:id="@+id/table"
		    android:layout_width="fill_parent" 
		    android:layout_height="fill_parent" 
		    android:stretchColumns="all"
		    >
    </TableLayout>
</LinearLayout>

看上面的xml,很简单的一个布局。然后在代码中想动态添加TableRow,且看:
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        table=(TableLayout)findViewById(R.id.table);
        params=new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);
       for(int i=0;i<20;i++){//添加20行
    		TableRow row=new TableRow(this);
    		row.setLayoutParams(params);
    		row.setBackgroundColor(0xFF00FF00);
    		for(int j=0;j<1;j++){//添加1列
    			TextView col=new TextView(this);
    			col.setLayoutParams(params);
    			col.setText("i="+i);
    			col.setTextColor(0xFFFF0000);
    			
    			row.addView(col);//添加列
    		}
    		table.addView(row);//添加行
    	}
    }

可是这样我在模拟器上沒看见生成的行。我试过想生成很简单的table都不行。何故?有没有碰到过类似的朋友啊?
2011年8月31日 10:10

1个答案 按时间排序 按投票排序

0 0

col.setLayoutParams(params);
这个params不能使用,你需要另外定义一个LayoutParams,你的col是放在tableRow中的,所以你现在定义的LayoutParams应该是TableRow.LayoutParams paramsRow=new TableRow.LayoutParams(TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.FILL_PARENT);
最后你的params应该是这样的params=new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);

2013年5月07日 20:49

相关推荐

    Android使用TableLayout动态布局实例

    通过动态创建`TableLayout`,开发者可以灵活地根据应用程序的需求生成不同结构的表格,提升用户体验。在实际项目中,结合其他布局如`LinearLayout`、`RelativeLayout`等,可以构建出更加复杂且富有交互性的用户界面...

    TableLayout,实现动态添加和删除行,并实现统计表格中的数据

    【TableLayout详解】 TableLayout是Android布局管理器中的一种,它是线性布局(LinearLayout)的扩展,主要用于构建类似电子表格的二...在实际开发中,结合其他组件和设计模式,TableLayout能更好地满足各种复杂需求。

    android 利用TableLayout自动生成表格

    本文将深入探讨如何利用TableLayout自动生成表格,以及相关的Android开发知识。 ### 1. TableLayout基础知识 TableLayout是LinearLayout的扩展,它继承自ViewGroup,主要用于组织多个TableRow来创建表格结构。每个...

    TableLayout 动态加载图片 动态行列数

    动态生成表格布局 随机读取PICTURE DIR下的图片显示在布局中 如果读取的不是图片 则读取res drawable hdpi的ic launcher png 难点: 1 对图片进行采样(即缩读取到内存的图片分辨率) 防止OutOfMemory 缺点:...

    TableLayout程序生成

    在这个"TableLayout程序生成"中,我们可以深入理解TableLayout的用法,并通过提供的TableLayoutProject源代码学习如何实际应用。 TableLayout的基础知识包括以下几个方面: 1. **基本结构**:TableLayout由多个...

    用TABLELAYOUT做表格

    5. **动态生成表格**:在某些情况下,表格的数据可能是动态的。这时,可以在Java代码中动态创建TableRow和TextView,并添加到TableLayout中。 6. **交互与事件处理**:可以为单元格中的视图设置点击事件监听器,...

    tablelayout实现表格效果

    这对于需要根据数据源动态生成表格的应用非常有用。 ```java TableLayout table = findViewById(R.id.table_layout); for (int i = 0; i ; i++) { TableRow row = new TableRow(this); for (int j = 0; j ; j++) ...

    安卓 tablelayout布局实例

    这对于需要根据数据动态生成表格的应用非常有用。 ### 示例项目 提供的`TableLayoutProject`压缩包应该包含了一个完整的示例应用,演示了如何创建和操作`TableLayout`。这个项目可能包含了以下几个部分: 1. `...

    018集-TableLayout视频教程

    此外,视频可能还涵盖了TableLayout的动态编程实现,即在代码中创建和添加TableRow及子View,这对于运行时生成表格数据非常有用。 在实际应用中,TableLayout常常与Adapter结合使用,例如ListView或GridView,以...

    Android开发之动态生成表格及其边框

    按钮用于触发表格的动态生成,而`TableLayout`则用于展示动态生成的表格。 ```xml android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"&gt; android:...

    Android入门第五篇之TableLayout (二).docx

    这篇文档主要介绍了如何在代码中动态地添加数据到TableLayout,从而实现更加灵活的界面构建。 首先,我们来看一下`main.xml`的布局文件。在这个例子中,我们创建了一个LinearLayout作为根布局,并在其中包含了一个...

    Android开发之动态生成表格及其边框的专栏

    Android开发之动态生成表格及其边框专栏博客频道

    TableLayout背景

    - 若表格内容动态生成,可以使用LayoutInflater动态添加TableRow,提高灵活性。 8. **TableLayoutProject项目**:该项目很可能包含了一个使用TableLayout的示例应用,通过解压并运行项目,可以直观地看到...

    ui.rar_tablelayout

    这通常在运行时根据数据动态生成表格,例如从网络或数据库加载数据。 - 可能使用`TableLayout.addView()`方法添加新的`TableRow`,并通过`TableRow.addView()`添加子视图。 3. **main.xml布局文件**: - 这个文件...

    Android Eclipse 动态生成表格界面

    总结起来,动态生成Android表格界面涉及的关键知识点包括:`TableLayout`和`GridLayout`的使用,动态添加`View`和`ViewGroup`,数据绑定,自定义`Adapter`,以及可能的自定义`View`开发。通过理解和掌握这些,你可以...

    android表格控件动态生成表格源码

    本资源"android表格控件动态生成表格源码"提供了一种解决方案,它基于Eclipse IDE,可以帮助开发者实现动态生成表格的功能,同时解决了表格内容显示不全的问题,通过集成滚动条确保所有数据都能被用户查看。...

    Android移动应用开发表格布局TableLayout的特点.pdf

    总之,Android的TableLayout布局以其灵活的行和列管理,以及自适应的列宽和伸缩属性,为移动应用的界面设计提供了强大支持。理解并熟练掌握TableLayout的特性,可以帮助开发者构建出更加高效和用户友好的应用程序。

    A0205表格布局TableLayout1

    - **跨列**:单元格可以跨列,但不能跨行。 3. **常用属性**: - `android:stretchColumns`:此属性用于TableLayout上,用于指定哪些列应该尽可能填充空白空间。可以使用数字或“*”表示所有列,例如“0,2”表示...

    android万年历源码ViewPager+TableLayout

    通过动态添加TableRow和TextView,我们可以根据当前月份生成对应的日历布局。 3. **阳历与农历转换**: 在这个项目中,源码实现了阳历和农历的转换。这通常涉及到复杂的算法,包括公历与农历之间的换算、节气计算...

    界面布局之表格布局TableLayout+TableRow(代码)

    在运行时,可以通过Java代码动态创建并添加TableRow到TableLayout。例如,可以创建一个循环来生成指定数量的行和列。 5. 注意事项: - 表格布局不适用于大量数据展示,因为性能问题,推荐使用RecyclerView或...

Global site tag (gtag.js) - Google Analytics