Java 如何在android中以简单的listview listadapter显示图像

Java 如何在android中以简单的listview listadapter显示图像,java,android,listview,android-listview,Java,Android,Listview,Android Listview,我想在简单列表视图中显示图像, 我们有arraylistHashMap,其中包含城市、描述等值。 &另外,我们必须转换为image并设置为ListView和列表行xml的每一行的base64图像字符串是ListView\u row.xml 这是我在listview中显示文本字段的代码,完成了以下操作: ArrayList<HashMap<String, String>> arllist = new ArrayList<HashMap<String, Strin

我想在简单列表视图中显示图像, 我们有arraylistHashMap,其中包含城市、描述等值。 &另外,我们必须转换为image并设置为ListView和列表行xml的每一行的base64图像字符串是
ListView\u row.xml

这是我在listview中显示文本字段的代码,完成了以下操作:

ArrayList<HashMap<String, String>> arllist = new ArrayList<HashMap<String, String>>();
Intent intent = getIntent();
arllist = (ArrayList<HashMap<String, String>>) intent.getSerializableExtra("map");

int length = arllist.size();
for(int i=0; i<length; i++)
{   
    try{            
        String stringToConvert = arllist.get(i).get("image");
        byte[] decodedString = Base64.decode(stringToConvert, Base64.NO_PADDING);
        Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
        ImageView image = (ImageView)this.findViewById(R.id.img);
        image.setImageBitmap(decodedByte);
    }
    catch (Exception e) {
        // TODO: handle exception
        Toast.makeText(productlist.this, e.toString(), Toast.LENGTH_LONG).show();
    }
}



SimpleAdapter listadapter = new SimpleAdapter(this, arllist, R.layout.list_item,
      new String[] {"city", "category", "description", "mobile", "landmark"},
      new int[] {R.id.city, R.id.category, R.id.desc, R.id.mobile, R.id.landmark});

ListView list=(ListView)findViewById(R.id.list);
list.setAdapter(listadapter);
ArrayList arllist=新建ArrayList();
Intent=getIntent();
arllist=(ArrayList)intent.getSerializableExtra(“映射”);
int length=arllist.size();
for(inti=0;i我想这正是您要找的

编辑:

试试这个:


要转换Base64字符串,请尝试以下操作-

假设图像数据是名为myImageData的字符串:

 byte[] imageAsBytes = Base64.decode(myImageData.getBytes());
    ImageView image = (ImageView)this.findViewById(R.id.ImageView);
    image.setImageBitmap(
            BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
    );

但是我们没有图像,我们在ArrayList arllist中有base64响应…所以首先如何将其转换为位图,因为它给出了“java.lang.IllegalArgumentException:bad base-64”错误。以及如何将其绑定到简单适配器…..我发现我从php服务中得到了错误的base64字符串,\n并且在末尾添加了另一个文本。我们在这里使用的代码与u post相同,但我们得到的错误是,它给出了“java.lang.IllegalArgumentException:bad base-64”错误。在我的情况下,它工作了,我想你的base64字符串是不正确的。