【问题标题】:Error in getView method of ImageAdapterImageAdapter 的 getView 方法出错
【发布时间】:2012-03-23 06:04:41
【问题描述】:

我正在触发 rawQuery 以选择性别。如果性别是男性,那么应该在仪表板上部署男性照片。但是我在 rawQuery 语句中收到错误“NullPointerEcxeption”。 你能帮我吗?谢谢。

我在 ImageAdapter 中的 getView 函数是

 public View getView(int position, View convertView, ViewGroup parent) 
{
    ImageView imageView = new ImageView(mContext);;
    HashMap<String, Integer> images = new HashMap<String, Integer>();    
    images.put( "male", Integer.valueOf( R.drawable.kidmale));
    images.put( "female", Integer.valueOf( R.drawable.kidfemale));    
    //String select="SELECT gender FROM db_mydata.tbl_mykid";
    Cursor res=db.rawQuery("SELECT gender FROM tbl_mykid " ,new String[]{gender}); 
    while(res.moveToNext())
    {
        String s=res.getColumnName(3);
        if(s=="male")
        {
            imageView.setImageResource( images.get( "male").intValue() );
        }
        else  
        {
            imageView.setImageResource( images.get( "female" ).intValue() ); 
        }
    }
    if (convertView == null) 
    {  // if it's not recycled, initialize some attributes
        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setPadding(8, 8, 8, 8);
    } 
    else 
    {
        imageView = (ImageView) convertView;
    }
    imageView.setImageResource(mThumbIds[position]);
    return imageView;
}   
// references to our images
private Integer[] mThumbIds = {R.drawable.add,};

【问题讨论】:

    标签: android sqlite gridview


    【解决方案1】:

    rawQuery 语句之后,在您的代码中添加以下行

    res.moveToFirst()
    

    【讨论】:

    • 您确定您的数据库中有数据,否则您还必须对其进行检查
    • 我的数据库中有数据。但这里我使用的是 hashmap 并相应地插入默认图像(即 R.drawable.....)。
    猜你喜欢
    • 2014-10-09
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多