|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Error en Android Studio
El error que me da en un proyecto de android studio me parece muy simple pero no consigo resolverlo y llevo ya unas cuantas horas. el error que me da es este:
Error ![]() y me lo da en esta linea:for (int i = 0; i < opciones.length; i++) adaptador.additem(opciones[i]) cabe decir que adaptador pertenece a una clase mia llamada AdaptadorDrawer que estiende de BaseAdapter. ¿Alguna idea? Muchas gracias de antemano ![]() Última edición por kohario88 Día 24/04/15 a las 13:03:55. |
|
#2
|
||||
|
||||
El método additem es tuyo no? Qué parámetro necesita?
¿Y la variable adaptador cómo la tienes declarada o de dónde sale?
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Última edición por mocelet Día 23/04/15 a las 20:03:01. |
#3
|
||||
|
||||
Aqui te paso el metodo:
tengo una clase llamada Adaptadordrawer que extiende de baseadapter con este metodo
public void additem(final String item) { datos.add(item); notifyDataSetChanged(); } y lo utilizo aqui public void llenarLista() { // Creo un Array desde XML con los nombres de cada item. String opciones[] = getResources().getStringArray(R.array.opcionesMenu ); // Empiezo a popular los items con sus respectivos nombres. for (int i = 0; i < opciones.length; i++) { adaptador.additem(opciones[i]); } } adaptador es un objeto de Adaptadordrawer. Creo que es mas problema de la clase ya que he intentado rehacer el metodo y tambien crear otros metodos dentro pero en todos me ocurre lo mismo lleven lo que lleven y sean como sean. tambien he probado a desactivar ese error a ver si me permitía asi utilizarlo pero sigue sin dejarme. |
#4
|
||||
|
||||
Solucionado! pero falla al ejecutar
No me lo reconocia porque me habia cambiado la llamada al constructor de mi adaptador por uno por defecto en widget y no por el adaptadordrawer.
![]() 04-24 10:55:45.862 28853-28853/com.example.kohario.newofersalud E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.kohario.newofersalud/com.example.kohario.newofersalud.OferSaludMain}: java.lang.IllegalStateException: System services not available to Activities before onCreate() at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1994) at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2095) at android.app.ActivityThread.access$600(ActivityThre ad.java:135) at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1201) at android.os.Handler.dispatchMessage(Handler.java:99 ) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.jav a:4849) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:795) at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:562) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalStateException: System services not available to Activities before onCreate() at android.app.Activity.getSystemService(Activity.jav a:4646) at com.example.kohario.newofersalud.AdaptadorDrawer.< init>(AdaptadorDrawer.java:43) at com.example.kohario.newofersalud.OferSaludMain.<in it>(OferSaludMain.java:43) at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1319) at android.app.Instrumentation.newActivity(Instrument ation.java:1056) at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1985) ************at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2095) ************at android.app.ActivityThread.access$600(ActivityThre ad.java:135) ************at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1201) ************at android.os.Handler.dispatchMessage(Handler.java:99 ) ************at android.os.Looper.loop(Looper.java:137) ************at android.app.ActivityThread.main(ActivityThread.jav a:4849) ************at java.lang.reflect.Method.invokeNative(Native Method) ************at java.lang.reflect.Method.invoke(Method.java:511) ************at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:795) ************at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:562) ************at dalvik.system.NativeStart.main(Native Method) |
#5
|
||||
|
||||
Te lo dice bien claro, estás usando un getSystemService en el constructor de la Activity, y no puedes hacerlo antes del onCreate de la Activity.
Supongo que no tendrás un constructor como tal en la Activity, en Android no tienen mucho sentido pudiendo hacer todo ese trabajo en el onCreate, lo que supongo que tendrás es una variable global en la Activity que la inicias con el getSystemService. |
#6
|
||||
|
||||
SOlucionado definitivamente!!!!
![]() ![]() ![]() ![]() |
![]() |
![]() |
||||||
|