我正在为列表视图执行lazyload代码,在该代码中,我在Json中获取文本和图像url,并将它们放入列表视图中.
图像和文本都相应显示为我想要的.
我面临的问题是当列表向下或向上滚动时,视图的索引受到干扰.
假设我的列表中有10个元素,其中图像横向预览.最初,我可以看到4个元素的onclick效果很好,
但是,当我向下滚动并单击第7个或第8个元素时,索引会受到干扰并导致空指针异常.
l2.setonItemClickListener(new OnItemClickListener() { @OverrIDe public voID onItemClick(AdapterVIEw<?> parent, VIEw vIEw,int position, long ID) { VIEw curr = parent.getChildAt((int) ID); TextVIEw c = (TextVIEw)curr.findVIEwByID(R.ID.text); String sel_item = c.getText().toString(); Intent intent = new Intent(SubCatListActivity.this,GrIDActivity.class); adapter.imageLoader.clearCache(); intent.putExtra("gall", sel_item); intent.putExtra("cate", cate); startActivity(intent); Toast.makeText(SubCatListActivity.this,sel_item, Toast.LENGTH_SHORT).show(); }});
问题似乎与textvIEw有关,因为我无法在列表的onclick上获得所需的文本.
如果我触摸第6个元素,则会得到第7或第8个项目的文本.
解决方法:
您可以尝试将此行更改为
TextVIEw c = (TextVIEw) vIEw.findVIEwByID(R.ID.text);
并删除第一行VIEw curr = parent.getChildAt((int)ID);
l2.setonItemClickListener(new OnItemClickListener() {@OverrIDe public voID onItemClick(AdapterVIEw<?> parent, VIEw vIEw,int position, long ID) { TextVIEw c = (TextVIEw) vIEw.findVIEwByID(R.ID.text); String sel_item = c.getText().toString(); Intent intent = new Intent(SubCatListActivity.this,GrIDActivity.class); adapter.imageLoader.clearCache(); intent.putExtra("gall", sel_item); intent.putExtra("cate", cate); startActivity(intent); Toast.makeText(SubCatListActivity.this,sel_item, Toast.LENGTH_SHORT).show(); }});
总结 以上是内存溢出为你收集整理的延迟加载onclick listview全部内容,希望文章能够帮你解决延迟加载onclick listview所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)