我现在真的困惑,哪一个学习。 我是一个iPhone应用程序开发者,现在学习Android开发。
我已经学会了如何使用ListView
使用的字符串的静态数组Adapter
。 我习惯使用定制单元在iPhone,多为显示像图像和文本的动态内容TableView
秒。
因此,这是去干什么,在Android的方式? TableLayout
或ListView
?
我现在真的困惑,哪一个学习。 我是一个iPhone应用程序开发者,现在学习Android开发。
我已经学会了如何使用ListView
使用的字符串的静态数组Adapter
。 我习惯使用定制单元在iPhone,多为显示像图像和文本的动态内容TableView
秒。
因此,这是去干什么,在Android的方式? TableLayout
或ListView
?
正如其他人的评论中已经说过,你要明确界定,使得在其上使用的布局类型,具体的决定之前,你首先要做些什么。 不过,我可以肯定明白,从试图决定在布局类的类型使用它产生混乱,因为经常有几个可供选择来达到同样的目的。 例如,创建项目的垂直滚动列表,你可能先选择一个垂直LinearLayout
,你会再放置一个内ScrollView
。 但在另一方面,来实现类似的最终结果,你可以使用一个ListView
一起用合适的Adapter
。
同样,表明可垂直滚动,你可以使用一个项目的网格TableLayout
一个内ScrollView
。 或者,类似的结果可以从使用来实现GridView
,再通过合适的供给数据Adapter
。
现在,第一个关键区别是这样的:像类LinearLayout
和TableLayout
要求您提供子元素无论是在XML布局或可替代编程代码。 像类ListView
和GridView
(和其他几个人)有很大的不同,因为它们的子类android.widget.AdapterView
。 有关的特别之处AdapterView
类是一个Adapter
用于将数据绑定到他们。 所以,回到垂直项目列表的例子,如果你出一组内部子列表项LinearLayout
基于一些阵列中的数据,你就必须以编程方式创建并添加子View
s转换是LinearLayout
基于阵列数据。 与ListView
另一方面,各个View
表示中的子项s的由合适的供给Adapter
。 因此,而不是编程方式与所有子项中填写的布局(如将与案件LinearLayout
或TableLayout
例如),一个Adapter
为基础的布局,而不是调用Adapter
来获得孩子View
S作为当它需要他们。
这最后一点,我相信你应该明白对未来关键的区别Adapter
基于布局:他们是在显示大量数据,在许多数据被滚出视情况更为有效。 例如, ListView
是更有效地使用用于显示项目的大型滚动列表比是,如果你简单地填充的LinearLayout
的所有项目,并把它放在里面ScrollView
。 这样做的原因效率是AdapterView
为基础的布局通常不包含所有子View
一切都在一次。 取而代之的是,通过列表中的用户滚动,现有的子视图是“再生”或“转化的”,由Adapter
来显示下一个子元素。 为了用一个例子说明这一点:你要的100个项目滚动垂直列表。 屏幕可仅足够大以一次显示7,但是。 想象一下,你使用LinearLayout
一个内ScrollView
显示100个列表项。 这意味着LinearLayout
容器有100点孩子Views
。 那些孩子总是出现在布局和需要由系统中滚动事件进行处理,即使只有七可以在同一时间是在屏幕上查看。 这需要额外的CPU时间,大量的RAM,并且滚动可呆滞。 现在,随着ListView
,布局将只可能只包含7或8个孩子View
秒。 当用户滚动,这些子View
s的动态转换或重新实例化的Adapter
,通过它您绑定您的数据。 用户将体验更快,更流畅的滚动操作。 从编程的角度来看,它通常是远更优雅通过结合数据列表Adapter
。 当你处理滚动列表或网格Bitmap
S,一个存储空间的限制Android
设备也意味着使用的AdapterView
是非常必要的。
请记住,在回答这个时候,我做了你要显示垂直项目或表格清单是滚动的,可能包括假设Bitmap
s和我集中布局的类型,你” D使用实现的布局和数据的滚动。 布局类一样LinearLayout
, TableLayout
然而,等等,你将用所有的时间来形成单独的布局构建块的应用是很重要的类。 如果你的整个列表是保证以适应屏幕并不会滚动,然后使用一个额外的复杂性Adapter
(不,这是真的那么复杂)可能是没有意义的,那么你可能只是想用一个TableLayout
或任何。
而Android相当于iOS的UITableView
是RecyclerView
。
这是非常强大的,可充满了来自根据类型不同来源的数据适配器你重视它。 你可能想看看这个RecyclerView代码实验室 。
1.如果您想dynamic data
的CUSTOM VIEW
以列表的形式,然后ListView
与BaseAdapter
或ArrayAdapter
是要走的路.....
2. TableLayout
将是完全不同的用途 ,主要是我用它用于示出这是需要被显示在堆栈形式数据..(即一个在另一个之上....)
请参阅快速理解和执行这些链接如下:
http://www.ezzylearning.com/tutorial.aspx?tid=1763429
http://www.vogella.com/articles/AndroidListView/article.html