SORU
20 Ocak 2010, ÇARŞAMBA


Hata layout/main.xml iç sınıf bir görünüme başvuran

Grrr...

Benim Etkinlik içinde bir iç sınıf olarak görmek bir alt sınıf oluşturmak. Ben sadece benim faaliyetten bu görüşe bağlı önce

setContentView(new CustomView(this));

bir sorun olmadan.

Şimdi, ancak, benim görüşüme göre, bu temel bir görünüm ve bunun üstüne bir Çevirici widget ekleyebilirsiniz, böylece bir FrameLayout parçası yapıyorum çok daha karmaşık oluyor. Sorun şu ki, ne zaman bir hata alıyorum

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.grafightscratch.ochemmer/com.grafightscratch.ochemmer.MoleculeTablet}: android.view.InflateException: Binary XML file line #4: Error inflating class com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
...
Caused by: android.view.InflateException: Binary XML file line #4: Error inflating class com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
...
Caused by: java.lang.ClassNotFoundException: com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView in loader dalvik.system.PathClassLoader@43b74a28

- Bu manzara için doğrudan bağlı zaman önce çalıştı, ama bir framelayout bir parçası olarak main.xml dosya eklemek istediğimde yukarıdaki hatayı aldım. Ben de sadece üzerinden görüntülenen bir düzen vermeye çalıştı:

<com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/molecule_tablet_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>

Hiçbir şey işe yaramıyor. Bu İnflateException/ClassNotFoundException hataları alıyorum. "Satır #3" ikili XML dosyası, ve eğer main.xml söz ise üçlü kontrol ettim hangi paket bildirimi olduğunu. şikayetleri

EDİT Bu görünüm, ayrı bir sınıf yapmayı denedim (ıe - bir iç sınıf) ve çalışıyor. Bazı arama yaptıktan sonra bazı mesajlar xml etiketi bu şekilde bakmak gerektiğini söylerken buldum:

<com.grafightscratch.ochemmer.MoleculeTablet$MoleculeTabletView ...>

Yani, dolar işareti ana sınıfından innerclass ayırmak için kullanılır. Ancak, Eclipse bu konuda barfs, bir hata çağırır, ve ben ya o karakter ile dağıtmak izin reddediyor. Şimdi akla şu soru geliyor: nasıl bir başvuru bir iç sınıf bir Manzarası var mı?

CEVAP
20 Ocak 2010, ÇARŞAMBA


İç sınıflar için sözdizimi olur:

<view class="com.grafightscratch.ochemmer.MoleculeTablet$MoleculeTabletView" />

Neden XML geçersiz bir karakter etiketler dolar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kap Slap

    Kap Slap

    8 Mart 2010
  • Trevor Eckhart

    Trevor Eckha

    19 Aralık 2009
  • JeezyVEVO

    JeezyVEVO

    12 Mayıs 2009