【发布时间】:2012-11-07 15:50:22
【问题描述】:
我们目前正在大学里处理列表视图。我的讲师给了我们一个简单的应用程序,它在列表中显示邮件消息,当用户选择一个时,它会在新活动中显示消息的内容。我几乎了解正在发生的所有事情,但是我想清除一些灰色区域!
基本上我想知道这部分代码的作用是什么?
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.inbox_row, null);
}
此方法位于扩展 ArrayAdapter 的类中。我认为这是某种形式的回收是否正确?视图何时打开和关闭屏幕?....
非常感谢任何帮助。谢谢。
【问题讨论】:
-
youtube.com/watch?v=wDBM6wVEO70。看看链接。您的问题可能已经得到解答。
-
如果您的列表中有三个项目,并且您的 ListView 中有三行在屏幕上的空间,则 getView() 将被调用三次,并使用一个空视图来创建这三行。您不能回收当前正在使用的行。
-
好的,我明白了,布局充气器是否基本上将视图放在它说 v = vi.inflate(.layout.inbox_row, null) 的列表中?
-
观看链接中的视频。这应该可以帮助您更好地理解列表视图。
标签: android listview android-arrayadapter layout-inflater