Recursos $ NotFoundException en Android

El problema es un Resources $ NotFoundException en el tv2.settext (), no sé por qué tengo un TreeMap, dentro del título de la pizza y la cuenta. ¡Por favor ayuda!

Vocación:

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); } } 

Pizza:

 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); } } 

Código de error:

 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)); } } 

Error:

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

Cambiar tv2.setText((Integer)entry.getValue()); a

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

hazlo así

  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)); } } 

Debe utilizar: tv2.setText(entry.getValue().toString());

Por otra parte, no necesita la siguiente línea de código:

 map.remove(pizza.title); 

Todo lo que necesitas escribir es: map.put(pizza.title, i++); Porque el método "put" del Mapa sustituye al valor antiguo.

No sé lo que estás tratando de hacer, pero obviamente no estás usando un R.string.my_title_or_so para setText . El Integer que pasa a este método debe ser un identificador (generado) válido de su clase R O encubrir el número a una cadena, por ejemplo, num + "" .

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

Analizar su Integer a String

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.