2011-10-04 17 views
6

समस्या टीवी 2.settext() में एक संसाधन $ NotFoundException है, मुझे नहीं पता कि मेरे पास पिज्जा शीर्षक और गिनती के अंदर क्यों एक TreeMap है। कृपया मदद करें!

कॉलिंग:

for (Pizza pizza : list) { 

      if(map.containsKey(pizza.title)) 
      { 

       int i = map.get(pizza.title); 
       map.remove(pizza.title); 

       map.put(pizza.title, i++); 
      } 
      else 
      { 
       map.put(pizza.title, 1); 
      } 
      } 

पिज्जा:

public class Pizza implements Comparable<String> { 

    public String title; 
    public int rate; 
    public String date; 
    public Bitmap picture; 
    public int id; 
    @Override 
    public int compareTo(String another) { 
     // TODO Auto-generated method stub 
     return this.title.compareTo(another); 
    } 

} 

त्रुटि कोड:

for (Entry<String, Integer> entry : map.entrySet()) { 

      tv.setText(entry.getKey()); 
      tv2.setText((Integer)entry.getValue()); //Error occures here 

      tv.setGravity(Gravity.LEFT); 
      tv2.setGravity(Gravity.RIGHT); 

      TableRow tr1 = new TableRow(this); 
      tr1.addView(tv); 
      tr1.addView(tv2); 
      tl.addView(tr1, new TableLayout.LayoutParams(
        LayoutParams.FILL_PARENT, 
        LayoutParams.WRAP_CONTENT)); 
      } 
     } 

त्रुटि:

10-04 09:04:40.475: ERROR/AndroidRuntime(954): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x1 

उत्तर

23

बदलें tv2.setText((Integer)entry.getValue()); को

tv2.setText(entry.getValue().toString()); 

इस

TableRow tr1 = new TableRow(this); 

for (Entry<String, Integer> entry : map.entrySet()) { 

     tv.setText(entry.getKey()); 
     tv2.setText((Integer)entry.getValue()); //Error occures here 

     tv.setGravity(Gravity.LEFT); 
     tv2.setGravity(Gravity.RIGHT); 

     tr1.addView(tv); 
     tr1.addView(tv2); 
     tl.addView(tr1, new TableLayout.LayoutParams(
       LayoutParams.FILL_PARENT, 
       LayoutParams.WRAP_CONTENT)); 
     } 
    } 
+0

10-04 09: 22: 40.585: त्रुटि/एंड्रॉइड रनटाइम (100 9): इसके कारण: java.lang.IleglegalStateException: निर्दिष्ट बच्चे के पास पहले से ही एक अभिभावक है। आपको पहले बच्चे के माता-पिता पर removeView() को कॉल करना होगा। 'tr1.addView (टीवी) ' –

+0

में मैंने अपना जवाब संपादित किया। इसे आज़माएं – Ramakrishna

0
tv2.setText((Integer)entry.getValue()); 

पसंद करते हैं पार्स अपने IntegerString

0

को मैं नहीं जानता कि आप क्या करने की कोशिश कर रहे हैं, लेकिन आप स्पष्ट रूप से नहीं कर रहे हैं setText के लिए R.string.my_title_or_so का उपयोग करना। Integer आप इस विधि को पास करते हैं, यह आपके R कक्षा से मान्य (जेनरेट) आईडी होना चाहिए। या आप संख्या को एक स्ट्रिंग में गुप्त करते हैं उदा। num + ""

3

आप उपयोग करना चाहिए: पुराने की जगह map.put(pizza.title, i++); becaues "डाल" मानचित्र की विधि:

map.remove(pizza.title); 

तुम सब लिखने की ज़रूरत है: tv2.setText(entry.getValue().toString());

इसके अलावा, आप कोड की निम्न पंक्ति की जरूरत नहीं है मूल्य।

संबंधित मुद्दे