2011-09-30 11 views
5

में गलत आईडी लौट रहा है मेरे ऐप में मेरे पास कुछ छवियों वाली गैलरी है। जब उपयोगकर्ता कोई छवि चुनता है तो मैं किसी भी तरह से चयनित छवि की आईडी पुनर्प्राप्त करना चाहता हूं।view.getId() OnItemClickListener

getId() द्वारा वापस किया गया int -1 है। मुझे उस छवि के लिए सिस्टम आईडी क्यों नहीं मिल रही है जिसे चुना गया था?

gallery.setOnItemClickListener(new OnItemClickListener() { 
      @SuppressWarnings("rawtypes") 
      @Override 
      public void onItemClick(AdapterView parent, View v, int position, long id) { 
       int imageId = v.getId(); 
      } 
     }); 

धन्यवाद!

+0

क्या यू OnItemSelectedListener के साथ की जाँच जोड़ सकता हूँ? – Venky

उत्तर

2

उपयोग इस

public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
     int imageId = ((ImageAdapter)parent.getAdapter()).mygetItemId(position); 

     } 
    }); 

की OnItemSelectedListener इस समारोह

public long getItemId(int position) { 
     return imagearray[position]; 
    } 
+0

धन्यवाद, यह पूरी तरह से काम किया! =) – plast

6

उपयोग बजाय एडाप्टर कक्षा में OnItemClickListener

gallery.setOnItemSelectedListener(new OnItemSelectedListener(){ 

      @Override 
      public void onItemSelected(AdapterView<?> parent, View view,int pos, long id){ 
       // TODO Auto-generated method stub 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

      } 
     }); 
संबंधित मुद्दे