Android 设置Listview';加载列表后从URL中删除项目图像
我只需要从URL加载第二个项目的图像。我已经搜索了一些库和方法来创建包含URL图像和文本的列表,但我只需要加载第二个项目的图像Android 设置Listview';加载列表后从URL中删除项目图像,android,android-listview,Android,Android Listview,我只需要从URL加载第二个项目的图像。我已经搜索了一些库和方法来创建包含URL图像和文本的列表,但我只需要加载第二个项目的图像 public void prepareArrayLits() { menuItemList = new ArrayList<Object>(); AddObjectToList(R.drawable.icon_door, "Pet Open"); AddObjectToList(R.drawable.icon_profile_sma
public void prepareArrayLits()
{
menuItemList = new ArrayList<Object>();
AddObjectToList(R.drawable.icon_door, "Pet Open");
AddObjectToList(R.drawable.icon_profile_small, GlobalData.fullname);
AddObjectToList(R.drawable.icon_messages, "Messages");
AddObjectToList(R.drawable.icon_people, "People");
AddObjectToList(R.drawable.icon_settings, "Settings");
AddObjectToList(R.drawable.icon_logout, "Log Out");
}
如果计数从0开始,我想更改id为1的项。如何更改它?为什么不更改适配器?我认为你应该改变你的适配器,因为这样:如果你的列表中有100个项目,可能需要从网络源加载20个项目。如何判断列表中当前可见的项目?因为如果你问我的话,在只有2个可见的情况下加载全部20个是浪费内存。想象一下,如果列表中有2000项需要从网络源加载,会发生什么情况?它会杀死你的应用程序。适配器可以以一种非常简单且内存友好的方式为您自动膨胀和加载资源。我会说:你应该改变你的适配器。看看这个问题:我在其他地方有其他列表,可能有一个未定义的项目数量;我会用正确的方式去做。这是菜单,我这里只有这些东西,不会变大的。我想更改从服务器下载的配置文件图片。但是,如果我更改适配器,我是否能够从drawable加载其他适配器?我会说,使用虚拟图像准备适配器,然后将其设置为列表并开始加载所需的图像。获取图像后,使用适配器中的getItem方法更新列表数据。然后使用适配器中的notifyDataSetChanged方法使列表无效,以便更新视图。如果你不明白,我会在没有网络加载的情况下发布一个示例代码。我用自定义适配器中的方法更新了问题。如何编写类似这样的内容:'if(itemID==1){set image myBitmapImage}'p.s.在创建列表之前,我将从URL加载图像
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return menuItemList.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView==null)
{
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.menu_drawer_left, null);
holder.listMenuIcon = (ImageView) convertView.findViewById(R.id.ic_menu);
holder.listMenuText = (TextView) convertView.findViewById(R.id.txt_menu);
convertView.setTag(holder);
}
else
holder=(ViewHolder)convertView.getTag();
MenuItemBean bean = (MenuItemBean) menuItemList.get(position);
holder.listMenuIcon.setImageResource(bean.getMenuIcon());
holder.listMenuText.setText(bean.getMenuText());
return convertView;
}