【发布时间】:2017-12-06 01:28:03
【问题描述】:
我遇到了一个奇怪的问题。我创建了一个导航抽屉,其中显示了一个列表视图。 listview 的 item 由一个 imageview 和一个 textview 组成。我显示的大多数项目没有任何图标,只有最后 3 个项目在左侧有一个图标,我正在使用位置参数进行检查。如果大于 14,则图标将显示,否则不显示。当列表视图第一次显示时,所有项目都正确显示,但是在我滚动列表视图后,一些其他项目会获取图标,当我向上和向下滚动时,所有项目都会获取随机图标。我正在使用以下代码 -
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
DrawerItemHolder drawerHolder;
View view = convertView;
if (view == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
drawerHolder = new DrawerItemHolder();
view = inflater.inflate(layoutResID, parent, false);
drawerHolder.ItemName = (TextView) view
.findViewById(R.id.drawer_itemName);
drawerHolder.icon = (ImageView) view.findViewById(R.id.drawer_icon);
drawerHolder.layout=(LinearLayout) view.findViewById(R.id.itemLayout);
view.setTag(drawerHolder);
} else {
drawerHolder = (DrawerItemHolder) view.getTag();
}
DrawerItem dItem = (DrawerItem) this.drawerItemList.get(position);
if(position>14){
drawerHolder.icon.setImageDrawable(view.getResources().getDrawable(
dItem.getImgResID()));
}
drawerHolder.ItemName.setText(dItem.getItemName());
if(dItem.getItemName().equals("Categories")){
view.setEnabled(false);
drawerHolder.layout.setBackgroundColor(Color.DKGRAY);
}else{
drawerHolder.layout.setBackgroundColor(dItem.getBackground());
}
return view;
}
感谢任何帮助。提前致谢。
【问题讨论】:
-
最好的事情我会推荐你使用 Volley 库 [link] (androidhive.info/2014/05/android-working-with-volley-library-1)
-
Volley 不适合你下载图片的时候吗?对于这个问题,Pankaj 似乎正在使用 drawables
-
@Losin'Me 我的错。谢谢哥们。我忘了检查代码。
标签: android listview android-listview