1

我正在尝试制作一个类似于徽标测验的应用程序,但不是猜测徽标,而是看到汽车的一部分,并且必须猜测它是哪辆车。我在网格视图中列出了汽车图片,当您单击它时,您可以输入您的答案。这一切都很好。当您给出正确答案时,它会保存到 SQLite 数据库中。所以现在我的问题是:如何在网格视图中显示刻度线或绿色轮廓等,仅在您正确回答的图片上?如果已正确回答图片,则在数据库中的“正确”列下插入带有“是”的字符串。这是我到目前为止所拥有的:

private void checkDB() {
    try{
        DbHelper entry = new DbHelper (Main.this);
        entry.openDataBase();
        Cursor c = entry.getInfo();
//Check everything at the "Correct" column
        for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
            String correct = c.getString(1);

        if (correct.equals("YES")){
//If it has been answered correctly get it's id
            int id = c.getInt(0);
//Add the tick mark at the specific picture
            gridView.?????
        }
        else{

        }
            entry.close();
        }
    }
    catch(Exception e){

    }
}

我真的没有编程经验,所以我希望你明白我的意思;)请帮忙!

4

1 回答 1

0

我可以通过将位置设为最终位置并将 onClick 侦听器添加到 imageView 来获取单击图像的位置。

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
 ImageView imageView;
 if (convertView == null) {  
// if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(80, 80));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(10, 8, 10, 8);
imageView.setOnClickListener(new View.OnClickListener() {

  @Override
  public void onClick(View view) {
    Log.d("onClick","position ["+position+"]");
  }

});
} 
 else 
{
 imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
于 2012-09-28T19:21:36.277 回答