2012-09-28 36 views
1

我試圖製作一個類似於Logo測驗的應用程序,但不是猜測標識,而是看到車的一部分,並且必須猜測哪輛車它是。我已經在gridview中列出了汽車圖片,當你點擊它時,你可以輸入你的答案。這一切工作正常。當你給出了正確的答案時,這被保存到SQLite數據庫。所以現在我的問題是:如何才能在gridview中顯示刻度線或綠色輪廓等,只有在您正確回答的圖片中才顯示出來?如果圖片已被正確回答,則在數據庫中的「Correct」列下插入一個帶有「YES」的字符串。以下是我迄今爲止:如果回答正確,在gridview中的圖像上設置刻度標記

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){ 

    } 
} 

我在編程真的沒有經驗,所以我希望你明白我的意思;)請幫幫忙!

+0

檢查此鏈接http://www.jondev.net/articles/Combining_2_Images_in_Android_using_Canvas也有人在這個問題上共享http://stackoverflow.com/questions/6129520/android-merge-two-images它的工作爲了同樣的目的。 – Maherenstein

回答

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; 
} 
+0

感謝您的迴應,但重點在於您在打開gridview時應該看到勾號而不是點擊後。這樣用戶就可以看到他們已經完成了該圖像。此刻度標記需要位於gridview中每個正確解答的圖像之上。我希望你能理解它。 – user1706695