我有一个自定义列表适配器:
class ResultsListAdapter extends ArrayAdapter<RecordItem> {
Run Code Online (Sandbox Code Playgroud)
在重写的'getView'方法中,我做了一个打印来检查它是什么位置以及它是否是convertView:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
System.out.println("getView " + position + " " + convertView);
Run Code Online (Sandbox Code Playgroud)
此输出(当列表首次显示时,尚未输入用户)
04-11 16:24:05.860: INFO/System.out(681): getView 0 null
04-11 16:24:29.020: INFO/System.out(681): getView 1 android.widget.RelativeLayout@43d415d8
04-11 16:25:48.070: INFO/System.out(681): getView 2 android.widget.RelativeLayout@43d415d8
04-11 16:25:49.110: INFO/System.out(681): getView 3 android.widget.RelativeLayout@43d415d8
04-11 16:25:49.710: INFO/System.out(681): getView 0 android.widget.RelativeLayout@43d415d8
04-11 16:25:50.251: INFO/System.out(681): getView 1 null
04-11 16:26:01.300: INFO/System.out(681): getView 2 null
04-11 16:26:02.020: INFO/System.out(681): getView 3 null
04-11 16:28:28.091: INFO/System.out(681): getView 0 …Run Code Online (Sandbox Code Playgroud) 我阅读了getView()上的所有其他帖子,但没有找到任何解决方案.我有一个带有SimpleCursorAdapter的GridView.我记录(位置); 在getView()中,我看到这样的模式:
0,0,1,0,0,2,0,0,3,0,0,4,0,0,5等.这意味着我必须构建3个视图,因为它为每个显示的新视图滚动这是波涛汹涌和迟滞.为什么这样做?我没有任何明显的设置我的gridview包装内容或其他任何奇怪的东西.我的代码没什么奇怪的.可能有一个因素是每个项目视图可能具有不同的高度,具体取决于我正在显示的文本的长度.
我目前正在调试4.2.2 Galaxy Nexus.