Android java.lang.NoSuchFieldError

En algunos casos, al acceder a un campo de actividad de una clase anónima, obtengo NoSuchFieldError en tiempo de ejecución: java.lang.NoSuchFieldError: MyActivity.myField

EDIT: Ahora estoy seguro de que se trata de un problema de Android, porque todo se compila correctamente pero se resuelve incorrectamente en tiempo de ejecución. Al cambiar a MyActivity.this.myField en lugar de myField normal, todo funciona perfecto.

BTW, he vuelto a revisar y no tengo ningún otro myField en ningún otro lugar, también, al abrir la declaración en Eclipse, va al campo previsto ( myField ).

El único problema es que no podría reproducir esto en un proyecto de muestra. Me quedo solo para declarar que es un problema específico en mi proyecto, pero estoy renuente a hacerlo y no puedo publicar este proyecto.

Mantendré esto abierto en caso de que alguien tropiece con algo similar.

Aquí está el código que puedo publicar que bloquea mi proyecto pero no el ejemplo:

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new Runnable() { @Override public void run() { Toast.makeText(MyActivity.this, myField.getName(), Toast.LENGTH_SHORT).show(); } }.run(); } 

Parece que acceder al campo con el prefijo de la clase lo resuelve: MyActivity.this.myField

Extraño. Supongo que es algo con la resolución de campo de Android en tiempo de ejecución.

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