我正在使用Android Activity,我有列表视图,并在json中从服务器动态加载数据,对于我正在获取位图的图像。
我遇到的问题是在Listview中加载位图图像如何在简单的适配器中集成图像
这是我的代码:
单行xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:padding="@dimen/activity_horizontal_margin">
<TextView
android:id="@+id/statusp"
android:text="status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:layout_marginLeft="82dp"
android:textColor="@color/colorAccent"
android:layout_below="@+id/dspecs" />
<TextView
android:id="@+id/dspecs"
android:text="speciality"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:layout_marginLeft="82dp"
android:textColor="@color/colorAccent"
android:layout_below="@+id/usr_dname" />
<TextView
android:id="@+id/usr_dname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:paddingTop="6dip"
android:textColor="@color/colorPrimaryDark"
android:textSize="20sp"
android:text="Name"
android:textStyle="bold"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/imug_p1"
android:layout_marginStart="41dp" />
<ImageView
android:id="@+id/im2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_alignParentRight="true"
android:src="@drawable/arrow"/>
<ImageView
android:id="@+id/imug_p1"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/hdoc"
android:layout_above="@+id/statusp"
android:layout_alignParentStart="true" />
这里我正在添加数据
if(singleUser.has("picture")){
pic = singleUser.get("picture").toString();
byte[] decodedString = Base64.decode(pic, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
Drawable did = new BitmapDrawable(getResources(), decodedByte);
}
HashMap<String, String> docs = new HashMap<>();
docs.put("name", key);
docs.put("speciality",speci);
docs.put("status", status);
docs.put("picture",did.toString()); ///here i am adding bitmap
contactList.add(docs);
这里是简单的适配器
ListAdapter adapter = new SimpleAdapter(Users.this, contactList,R.layout.user_listitem,
new String[]{"picture","name","speciality" ,"status"},
new int[]{R.id.imug_p1,R.id.usr_dname,R.id.dspecs,R.id.statusp});
usersList.setAdapter(adapter);
((BaseAdapter) adapter).notifyDataSetChanged();
但是列表视图中没有显示任何内容。
被修改
我已经将位图转换为drawable,即使这样我也看不到任何图像检查我的更新代码。
答案 0 :(得分:0)
您需要创建自己的BaseAdapter子项适配器。这是唯一的解决方案