bae*_*aek 0 android android-listview
我有一个ListView,我输入以下代码来查看我的BaseAdapter的getView()过程.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Log.d("getView()","Fetching Row: " + position);
...
}
Run Code Online (Sandbox Code Playgroud)
当我慢慢向下滚动列表时,我注意到发生了一些奇怪的事情.即使我在列表位置40-50ish,它仍然调用getView()的位置为0-7.这是我的日志的样子:
05-14 11:46:13.989: I/getView()(18681): Fetching Row: 45
05-14 11:46:14.039: I/getView()(18681): Fetching Row: 0
05-14 11:46:14.049: I/getView()(18681): Fetching Row: 1
05-14 11:46:14.049: I/getView()(18681): Fetching Row: 2
05-14 11:46:14.049: I/getView()(18681): Fetching Row: 3
05-14 11:46:14.059: I/getView()(18681): Fetching Row: 4
05-14 11:46:14.059: I/getView()(18681): Fetching Row: 5
05-14 11:46:14.059: I/getView()(18681): Fetching Row: 6
05-14 11:46:14.069: I/getView()(18681): Fetching Row: 7
05-14 11:46:14.320: I/getView()(18681): Fetching Row: 46
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 0
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 1
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 2
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 3
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 4
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 5
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 6
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 7
Run Code Online (Sandbox Code Playgroud)
如您所见,在第45行和第46行之间,每次都为第0-7行调用getView().每个列表项都会发生这种情况.我担心这会导致性能问题.
为什么会这样?这是正常行为吗?
在listview xml中,将layout_height更改为 android:layout_height="match_parent"
| 归档时间: |
|
| 查看次数: |
2446 次 |
| 最近记录: |