Android.content.res.Resources $ NotFoundException: Cadena de recursos ID # 0x0

Estoy desarrollando una aplicación para Android que lee datos de la base de datos MySQL y me enfrenté a este error. Tengo este diseño XML:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/wardNumber" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="3dp" android:text="Ward Number" android:textSize="22dp"/> <TextView android:id="@+id/dateTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/wardNumber" android:layout_alignParentRight="true" android:layout_marginRight="3dp" android:text="Date-Time" /> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/dateTime" android:layout_alignBottom="@+id/dateTime" android:layout_alignLeft="@+id/wardNumber" android:layout_marginLeft="3dp" android:text="Name" /> </RelativeLayout> 

Y este es el archivo de mi Java:

 public ApplicationAdapter(Context context, List<Application> items) { super(context, R.layout.app_custom_list, items); this.items = items; } @Override public int getCount() { return items.size(); } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if(v == null) { LayoutInflater li = LayoutInflater.from(getContext()); v = li.inflate(R.layout.app_custom_list, null); } Application app = items.get(position); if(app != null) { // ImageView icon = (ImageView)v.findViewById(R.id.appIcon); TextView wardNumber = (TextView)v.findViewById(R.id.wardNumber); TextView name = (TextView)v.findViewById(R.id.name); // LinearLayout ratingCntr = (LinearLayout)v.findViewById(R.id.ratingCntr); TextView dateTime = (TextView)v.findViewById(R.id.dateTime); // if(icon != null) { // Resources res = getContext().getResources(); // String sIcon = "com.sj.jsondemo:drawable/" + app.getIcon(); // icon.setImageDrawable(res.getDrawable(res.getIdentifier(sIcon, null, null))); // } if(wardNumber != null) wardNumber.setText(app.getTitle()); if(name != null) name.setText(app.getTitle()); if(dateTime != null) { dateTime.setText(app.getTotalDl()); // NumberFormat nf = NumberFormat.getNumberInstance(); // dateTime.setText(nf.format(app.getTotalDl())+" dl"); } } return v; } } 

Cuando se llama a esta actividad, recibo este mensaje de error:

 11-24 21:12:03.633: E/AndroidRuntime(1251): FATAL EXCEPTION: main 11-24 21:12:03.633: E/AndroidRuntime(1251): android.content.res.Resources$NotFoundException: String resource ID #0x0 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.content.res.Resources.getText(Resources.java:201) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.TextView.setText(TextView.java:2863) 11-24 21:12:03.633: E/AndroidRuntime(1251): at com.sj.jsondemo.Appl icationAdapter.getView(ApplicationAdapter.java:53) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.AbsListView.obtainView(AbsListView.java:1430) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.ListView.measureHeightOfChildren(ListView.java:1216) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.ListView.onMeasure(ListView.java:1127) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.View.measure(View.java:8313) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:701) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.LinearLayout.onMeasure(LinearLayout.java:311) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.View.measure(View.java:8313) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.View.measure(View.java:8313) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.LinearLayout.measureVertical(LinearLayout.java:531) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.View.measure(View.java:8313) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.View.measure(View.java:8313) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.ViewRoot.performTraversals(ViewRoot.java:839) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.os.Handler.dispatchMessage(Handler.java:99) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.os.Looper.loop(Looper.java:130) 11-24 21:12:03.633: E/AndroidRuntime(1251): at android.app.ActivityThread.main(ActivityThread.java:3683) 11-24 21:12:03.633: E/AndroidRuntime(1251): at java.lang.reflect.Method.invokeNative(Native Method) 11-24 21:12:03.633: E/AndroidRuntime(1251): at java.lang.reflect.Method.invoke(Method.java:507) 11-24 21:12:03.633: E/AndroidRuntime(1251): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 11-24 21:12:03.633: E/AndroidRuntime(1251): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 11-24 21:12:03.633: E/AndroidRuntime(1251): at dalvik.system.NativeStart.main(Native Method) 11-24 21:12:08.922: I/Process(1251): Sending signal. PID: 1251 SIG: 9 

No sé cómo solucionar este error.

Cambio

 dateTime.setText(app.getTotalDl()); 

A

 dateTime.setText(String.valueOf(app.getTotalDl())); 

Hay diferentes versiones de setText : se toma una cadena y se toma una ID de recurso int. Si se pasa un número entero, intentará buscar el id de recurso de cadena correspondiente, que no puede encontrar, que es su error.

Supongo que app.getTotalDl() devuelve un int. Es necesario especificar específicamente setText para establecerlo en el valor String de este int.

SetText (int resid) vs setText (texto CharSequence)

Reemplazar

 dateTime.setText(app.getTotalDl()); 

Con

 dateTime.setText(""+app.getTotalDl()); 

Cuando intenta establecer texto en Edittext o textview debe pasar sólo formato de cadena.

 dateTime.setText(app.getTotalDl()); 

a

 dateTime.setText(String.valueOf(app.getTotalDl())); 
  • Error de Android Studio XML
  • Android Diseño de materiales Navegación Vista -> Elemento
  • Fuera de error de memoria al inflar el diseño xml simple en android
  • Cómo dibujar un círculo dentro de un círculo con formas de Android xml?
  • Android Color - ¿Cuánto más oscuro es primaryColorDark que primaryColor?
  • Análisis de archivos XML grandes utilizando el analizador SAX (salte algunas líneas / etiquetas)
  • "El contenido tiene vista con el atributo id 'android.r.id.list' que no es una clase ListView." Cuando se crea una vista de lista en un fragmento
  • La vista de vídeo no es de pantalla completa en modo horizontal
  • ¿Cómo puedo obtener de forma confiable un color de un AttributeSet?
  • Cómo especificar el valor nulo para un recurso de cadena en xml en Android?
  • Android Spinner Dropdown flecha que no se muestra
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.