在android中创建动态表。新视野vs充气机
我想在android中创建自定义行数和列数的动态表。最小sdk为3.0 我想通过以下两种方式之一将其装箱: 1通过创建新的文本视图在android中创建动态表。新视野vs充气机,android,dynamic-tables,Android,Dynamic Tables,我想在android中创建自定义行数和列数的动态表。最小sdk为3.0 我想通过以下两种方式之一将其装箱: 1通过创建新的文本视图 TableRow tr = ....; for ( i = 0; i < NumOfRows .... ) { TextView tv = new TextView(this); tv.setLayoutParams(...); tv.setText("Text I wanna to see"); tr.add(tv); }
TableRow tr = ....;
for ( i = 0; i < NumOfRows .... ) {
TextView tv = new TextView(this);
tv.setLayoutParams(...);
tv.setText("Text I wanna to see");
tr.add(tv);
}
2通过充气机
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for ( i = 0; i < NumOfRows .... ) {
TextView tv = (TextView) mInflater.inflate(R.layout.my_cell_layout, null, false)
.findViewById(R.id.my_cell_item);
tv.setText("Text I wanna to see");
tr.add(tv);
}
3.你的方式:
什么更快?我应该选择什么?在此处输入代码找出哪个更快,实现这两种方法并使用方法分析实用程序TraceView。也就是说,在进行更改时维护XML文件比修改代码更容易。所以,如果我是你,我更喜欢技术2 要找出哪个更快,请实现这两种方法并使用方法分析实用程序TraceView。也就是说,在进行更改时维护XML文件比修改代码更容易。所以,如果我是你,我更喜欢技术2 这都是根据你的要求,哪一个更好 从链接 因为布局可以用XML或代码创建,所以您可能不必进行动态XML布局加载。尽管如此,我认为有人可能希望这样做的原因有一些明显的好处: 规范清洁度。在代码中做任何超出基本布局的事情都会变得非常混乱,速度非常快。 代码重用。使用一行或两行代码将XML布局膨胀到指定视图中非常容易 表演创建代码内布局所需的对象会导致不必要的垃圾收集。根据Android Designing for Performance一文,“尽可能避免创建短期临时对象。” 属性可用性。在XML布局中定义视图会公开对象方法不总是可用的属性 * 可能的缺点: 与在代码中定义布局相比,执行XML布局需要更多的时间,特别是当只有一个或两个接口元素需要更改时。
*这一切都取决于你的要求,哪一个更好 从链接 因为布局可以用XML或代码创建,所以您可能不必进行动态XML布局加载。尽管如此,我认为有人可能希望这样做的原因有一些明显的好处: 规范清洁度。在代码中做任何超出基本布局的事情都会变得非常混乱,速度非常快。 代码重用。使用一行或两行代码将XML布局膨胀到指定视图中非常容易 表演创建代码内布局所需的对象会导致不必要的垃圾收集。根据Android Designing for Performance一文,“尽可能避免创建短期临时对象。” 属性可用性。在XML布局中定义视图会公开对象方法不总是可用的属性 * 可能的缺点: 与在代码中定义布局相比,执行XML布局需要更多的时间,特别是当只有一个或两个接口元素需要更改时。 *