sinat_23217987 2015-08-10 02:57 采纳率: 0%
浏览 2207

我想把SQLite数据库里的数据显示到ListView上,代码有什么问题吗?

private ListView listview = null;

private List> list = new ArrayList>();

private SimpleAdapter simpleAdapter = null;
private ImageView iv;
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//适配器添加查询结果,并加到ListView中显示

simpleAdapter = new SimpleAdapter(this, getData(),
R.layout.item,

new String[] {"name", "waimao","time","contact" ,"image"},
new int[] { R.id.name, R.id.waimao,R.id.time,R.id.contact,R.id.imageView1 });

listview.setAdapter(simpleAdapter);

}
/**
*
* @return
*/

private List> getData() {

DBHelper dbHelper = new DBHelper(this);

SQLiteDatabase db = dbHelper.getReadableDatabase();

Cursor cursor = db.rawQuery("select * from post", null);

while (cursor.moveToNext()) {

Integer pid = cursor.getInt(cursor.getColumnIndex("id"));

String pname = cursor.getString(cursor.getColumnIndex("name"));

String waimao = cursor.getString(cursor.getColumnIndex("waimao"));
String time=cursor.getString(cursor.getColumnIndex("time"));
String contact=cursor.getString(cursor.getColumnIndex("contact"));
//从数据库中提取图片
byte[] pimage=null;
pimage=cursor.getBlob(cursor.getColumnIndex("image"));
Bitmap imagebitmap=BitmapFactory.decodeByteArray(pimage, 0, pimage.length);
iv=(ImageView)findViewById(R.id.imageView1);
iv.setImageBitmap(imagebitmap);
//这里同样是查询,只不过把查询到的数据添加到list集合,可以参照ListView的用法

Map map = new HashMap();

map.put("id", pid); //获取_id

map.put("name", pname); //获取name

map.put("waimao", waimao);
map.put("time", time);
map.put("contact", contact);
map.put("image",imagebitmap);
list.add(map);

        }  
    return list;  

}  
  • 写回答

3条回答 默认 最新

  • 程旭圆 2015-08-10 04:19
    关注

    把 iv=..... 和 iv.set.... 两行删去

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序