Cómo obtener una excepción al intentar agregar una cuenta en Android

Estoy tratando de crear un medio para el usuario para crear una cuenta en el teléfono que finalmente sincronizar a sus contactos a través de la aplicación. Estoy trabajando en el emulador ahora, así que voy a Menu-Dev Tools-AccountsTester para probar lo que tengo. Cuando hago clic en AccountsTester, obtengo el siguiente código de error en LogCat:

03-08 18:58:31.996: ERROR/AndroidRuntime(403): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.development/com.android.development.AccountsTester}: android.content.res.Resources$NotFoundException: String resource ID #0x0 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.os.Handler.dispatchMessage(Handler.java:99) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.os.Looper.loop(Looper.java:123) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.app.ActivityThread.main(ActivityThread.java:3647) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at java.lang.reflect.Method.invokeNative(Native Method) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at java.lang.reflect.Method.invoke(Method.java:507) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at dalvik.system.NativeStart.main(Native Method) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.content.res.Resources.getText(Resources.java:201) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.content.res.Resources.getString(Resources.java:254) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.content.Context.getString(Context.java:183) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at com.android.development.AccountsTester.initializeAuthenticatorsSpinner(AccountsTester.java:147) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at com.android.development.AccountsTester.onCreate(AccountsTester.java:63) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586) 03-08 18:58:31.996: ERROR/AndroidRuntime(403): ... 11 more 

Como se puede ver, no hay ninguna línea @ mostrando dónde está ocurriendo el error en mi código. I google buscado algunas de las líneas destacadas, pero no podía encontrar nada en relación con mi problema. ¿Alguien tiene una idea de lo que está pasando aquí? Por favor, hágamelo saber si hay alguna información que podría utilizar para ayudar a responder que no he incluido … gracias!

El diseño que AccountsTester llamaría:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical" android:paddingTop="5dip" android:paddingLeft="20dip" android:paddingRight="20dip" android:paddingBottom="13dip"> <TextView android:id="@+id/account_login_message" android:textAppearance="?android:attr/textAppearanceSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="5dip"/> <TextView android:textAppearance="?android:attr/textAppearanceSmall" android:textStyle="bold" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Username"/> <EditText android:id="@+id/account_login_username_edittext" android:singleLine="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minWidth="250dip" android:scrollHorizontally="true" android:capitalize="none" android:autoText="false" android:inputType="text"/> <TextView android:id="@+id/account_login_username_fixed" android:textAppearance="?android:attr/textAppearanceSmall" android:singleLine="true" android:layout_marginTop="2dip" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:textAppearance="?android:attr/textAppearanceSmall" android:textStyle="bold" android:singleLine="true" android:layout_marginTop="2dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Password"/> <EditText android:id="@+id/account_login_password_edittext" android:singleLine="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minWidth="250dip" android:scrollHorizontally="true" android:capitalize="none" android:autoText="false" android:inputType="textPassword"/> <TextView android:id="@+id/account_login_message_bottom" android:textAppearance="?android:attr/textAppearanceSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="5dip"/> </LinearLayout> </ScrollView> <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#c6c3c6" android:minHeight="54dip" android:paddingLeft="2dip" android:paddingTop="4dip" android:paddingRight="2dip"> <Button android:id="@+id/account_login_ok_button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center_horizontal" android:minWidth="100dip" android:text="Sign In" android:onClick="handleLogin"/> </FrameLayout> </LinearLayout> 

No llamo a una sola cadena allí … Mi actividad hace referencia a las cadenas unas cuantas veces, pero las cadenas que hace referencia son con toda seguridad, las veo mientras escribo esto, y obtendría un error en Eclipse de todos modos .

El truco aquí era que en mi archivo xml / authenticator necesario para la creación de la cuenta, llené el android: campo de etiqueta con "Nombre de la aplicación" así:

 android:label="App Here" 

Lo que necesitaba hacer era llamar a un recurso para ello. Así que creé una cadena llamada etiqueta y poner el nombre allí, y funciona bien.

Usted probablemente está haciendo algo como:

 int i = 12; ((EditText)findViewById(R.id.editText)).setText(i); 

Deberías hacer:

  int i = 12; ((EditText)findViewById(R.id.editText)).setText(""+i); 

Una de sus disposiciones hace referencia a un recurso de cadena que no existe.

Busque algo en res/layouts que diga ...="@string/foo"

La otra posibilidad es que está llamando a un método setFooResource() con un argumento de 0.

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