studio method cannot android runtime-error findviewbyid

android - method - NoSuchFieldError en findViewById()



cannot resolve method findviewbyid (4)

Hay dos proyectos de Android que quiero fusionar, uno es Main y el otro está vinculado como Biblioteca. Pero tengo algunos problemas en esta línea:

Button modificarC; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_menu_calificaciones); modificarC = (Button) findViewById(R.id.btn_aseso); //HERE

Probé Project Clean ... también tengo android-support-v4.jar en mis dependencias

Y este es mi rastro:

04-24 19:39:52.568: E/AndroidRuntime(9486): FATAL EXCEPTION: main 04-24 19:39:52.568: E/AndroidRuntime(9486): java.lang.NoSuchFieldError: com.utez.sistemas.sam.R$id.btn_aseso 04-24 19:39:52.568: E/AndroidRuntime(9486): at com.utez.sistemas.sam.calificaciones.CalificacionesActivity.onCreate(CalificacionesActivity.java:67) 04-24 19:39:52.568: E/AndroidRuntime(9486): at android.app.Activity.performCreate(Activity.java:4465) 04-24 19:39:52.568: E/AndroidRuntime(9486): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052) 04-24 19:39:52.568: E/AndroidRuntime(9486): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932) 04-24 19:39:52.568: E/AndroidRuntime(9486): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993) 04-24 19:39:52.568: E/AndroidRuntime(9486): at android.app.ActivityThread.access$600(ActivityThread.java:127) 04-24 19:39:52.568: E/AndroidRuntime(9486): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159) 04-24 19:39:52.568: E/AndroidRuntime(9486): at android.os.Handler.dispatchMessage(Handler.java:99) 04-24 19:39:52.568: E/AndroidRuntime(9486): at android.os.Looper.loop(Looper.java:137) 04-24 19:39:52.568: E/AndroidRuntime(9486): at android.app.ActivityThread.main(ActivityThread.java:4507) 04-24 19:39:52.568: E/AndroidRuntime(9486): at java.lang.reflect.Method.invokeNative(Native Method) 04-24 19:39:52.568: E/AndroidRuntime(9486): at java.lang.reflect.Method.invoke(Method.java:511) 04-24 19:39:52.568: E/AndroidRuntime(9486): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 04-24 19:39:52.568: E/AndroidRuntime(9486): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 04-24 19:39:52.568: E/AndroidRuntime(9486): at dalvik.system.NativeStart.main(Native Method)

También aquí está el diseño:

<LinearLayout style="@style/LoginFormContainer" android:layout_width="253dp" android:layout_height="260dp" android:layout_marginLeft="15dp" android:layout_marginTop="30dp" android:orientation="vertical" > <Button android:id="@+id/btn_alta" android:layout_width="match_parent" android:layout_height="63dp" android:layout_marginLeft="25dp" android:layout_marginTop="5dp" android:background="@drawable/btn_altacalif" android:contentDescription="@string/action_sign_in_register" android:paddingLeft="32dp" android:paddingRight="32dp" android:textAlignment="center" /> <Button android:id="@+id/btn_aseso" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="25dp" android:layout_marginTop="5dp" android:layout_weight="0.16" android:background="@drawable/btn_modcalif" android:contentDescription="@string/action_sign_in_register" android:paddingLeft="32dp" android:paddingRight="32dp" android:textAlignment="center" /> </LinearLayout>


Bueno, yo soy chino. Mi inglés no es bueno.

Yo también tengo la pregunta.

La solución puede ser: el nombre del archivo xml se repite, por ejemplo: : a.xml está en su proyecto de biblioteca, al mismo tiempo, a.xml está en su proyecto principal. Por lo tanto, cambie uno de los nombres xml.


La limpieza del proyecto funcionó para mí.



Tuve el mismo error y resulta que el recurso fue reemplazado.

Si tiene un proyecto que funciona como una biblioteca que declara algún ID en un archivo XML dado, entonces su proyecto principal redefine ese XML, el ID original desaparece, pero no verá el error hasta el tiempo de ejecución.

En mi caso, un socio eliminó y confirmó el XML del proyecto, luego lo volvió a agregar al proyecto de la biblioteca. Subclipse no pareció notarlo porque estaba actualizado, pero el XML estaba allí en el proyecto principal.