如何在Android的Listview中以blob形式显示存储在数据库中的图像?

时间:2011-05-03 06:10:37

标签: android database image listview

我的问题是,我正在创建一个小测验,以便我想要一个顶部的图像和它下方的答案。这一切都是在一项新活动中完成的,我想在这里展示测验的答案。每个图像大约有40个问题。因此,我尝试使用HashMap如下: -

   ListView lv = (ListView)findViewById(R.id.list1);
   String[] from = new String[] {"ques","ans"};
   int[] to = new int[] {R.id.ques, R.id.ans};

           // prepare the list of all records
    List<HashMap<String,Bitmap>> fillMaps = new ArrayList<HashMap<String,Bitmap>>();
     Cursor c1 = db.getQues(4);
     byte[] bb = c1.getBlob(0);
     Bitmap image = BitmapFactory.decodeByteArray(bb, 0, bb.length);
     //Cursor c2 = db.getAns(4);
    // String ans1 ="Ans"+") "+c2.getString(0);
     HashMap<String,Bitmap> map = new HashMap<String, Bitmap>();
    // HashMap<String,String> map1 = new HashMap<String, String>();
     map.put("ques",image);
    // map1.put("ans",ans1);
     fillMaps.add(map);      

     SimpleAdapter adapter = new SimpleAdapter(this, fillMaps, R.layout.itemsign, from, to);
     lv.setAdapter(adapter);

但我找不到正确实施它的方法。此代码不起作用。它只显示一个空白页面。所以,任何帮助将不胜感激。因为我是android新手所以请在解释时更详细。

1 个答案:

答案 0 :(得分:1)

好吧,我不认为blob是你的问题。这是SimpleAdapter构造函数的javadoc:

  

public SimpleAdapter(Context context,List&gt; data,int resource,String [] from,int [] to)

     

自:API级别1   构造函数   参数

     
      
  • context与此SimpleAdapter关联的View正在运行的上下文
  •   
  • 数据地图列表。列表中的每个条目对应于列表中的一行。地图包含每行的数据,并应包括“from”
  • 中指定的所有条目   
  • 资源定义此列表项视图的视图布局的资源标识符。布局文件至少应包含“to”
  • 中定义的命名视图   
  • 来自将添加到与每个项目关联的地图的列名列表。
  •   
  • to应在“from”参数中显示列的视图。 这些都应该是TextViews。此列表中的前N个视图将被赋予from参数中前N列的值。
  •   

你不能在Bitmap中使用SimpleAdapter,这太简单了:)