2013-02-25 18 views
6

में कैसे मिलता गतिशील रूप से उत्पन्न करने के लिए छवि नाम मैं जो गतिशील रूप से बनाई गई है छवि के क्लिक पर छवि का नाम प्राप्त करना चाहते हैं ......एंड्रॉयड

for(int i=0;i<list.size();i++) 
    { 
     final ImageButton b=new ImageButton(this); 
     LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(70, 70); 
     layoutParams.setMargins(5, 5, 0, 0); // left, top, right, bottom 
     b.setLayoutParams(layoutParams); 
     Resources res = getResources(); 
     int resourceId = res.getIdentifier("_"+list.get(i).toString(), "drawable", getPackageName()); 
     b.setImageResource(resourceId); 
     b.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       //at here i want to get the selected image name 


      } 
     }); 
     rowoptions.addView(b); 
    }  

उत्तर

1

ImageButton टैग के रूप में छवि का नाम सेट करें। इसके बाद आप इसे onClick() में पुनर्प्राप्त कर सकते हैं। इसके लिए setTag() और getTag() का उपयोग करें:

String imageName = "_" + list.get(i).toString(); 
    int resourceId = res.getIdentifier(imageName, "drawable", getPackageName()); 
    b.setTag(imageName); 
    b.setImageResource(resourceId); 
    b.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      //at here i want to get the selected image name 
      String clickedImageName = (String)v.getTag(); 

     } 
    });