Autor Wątek: [ANDROID] Własny View  (Przeczytany 1543 razy)

Offline baca130

  • Użytkownik

# Październik 18, 2011, 19:08:34
Witam, utworzyłem własnego viewa i próbuję go uruchomić za pomocą xml, ale niestety zwraca błąd
Cytuj
Binary XML file line #3: Error inflating class com.bacastudio.TestView
ktoś z was zna przyczynę dlaczego nie może znaleść tej klasy?
« Ostatnia zmiana: Październik 26, 2011, 00:55:31 wysłana przez bs.mechanik »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Zielony

  • Użytkownik
    • Ghurund Engine

# Październik 18, 2011, 19:15:26
przyczyn może być dużo, ale generalnie stawiałbym na jedną z dwóch. Albo zrobiłeś literówkę w ścieżce do klasy, albo nie zaimplementowałeś konstruktora z atrybutami.

Offline baca130

  • Użytkownik

# Październik 18, 2011, 19:42:26
Zapomniałem dodać, że klasa wyświetla się w edytorze xml.

Offline baca130

  • Użytkownik

# Październik 21, 2011, 12:34:55
Witam!
Nie dostałem odpowiedzi na mój problem, ani sam go nie rozwiązałem, a nikt po macku raczej nie rozwiąże go więc postanowiłem przygotować przykład aplikacji. Tak są większe szanse na rozwiązanie.

A to co konsola wypluwa:
10-21 11:20:53.934: WARN/AppWidgetHostView(8328): android.view.InflateException: Binary XML file line #2: Error inflating class com.bacastudio.analogClock.AnalogClockView
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.view.LayoutInflater.inflate(LayoutInflater.java:386)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.widget.RemoteViews.apply(RemoteViews.java:939)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.appwidget.AppWidgetHostView.updateAppWidget(AppWidgetHostView.java:218)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.appwidget.AppWidgetHost.updateAppWidgetView(AppWidgetHost.java:250)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.appwidget.AppWidgetHost$UpdateHandler.handleMessage(AppWidgetHost.java:73)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.os.Looper.loop(Looper.java:130)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.app.ActivityThread.main(ActivityThread.java:3835)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at java.lang.reflect.Method.invokeNative(Native Method)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at java.lang.reflect.Method.invoke(Method.java:507)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at dalvik.system.NativeStart.main(Native Method)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328): Caused by: java.lang.ClassNotFoundException: com.bacastudio.analogClock.AnalogClockView in loader dalvik.system.PathClassLoader[.]
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.view.LayoutInflater.createView(LayoutInflater.java:471)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
10-21 11:20:53.934: WARN/AppWidgetHostView(8328):     ... 14 more

Offline baca130

  • Użytkownik

# Październik 21, 2011, 21:33:47
No trudno, szkoda że nikt nie zna problemu :(.

Offline Solgar

  • Użytkownik

# Październik 31, 2011, 17:57:55
Ja sie tam nie znam, ale mój kolega stwierdził że:
Cytuj
kolo probuje uzyc niedozwolonej klasy widoku na widżecie
http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout
tylko tych klas można używać dla widżetów
a kolo próbuje używać własnej customowej klasy

Może to pomoże ;]