SORU
18 Mayıs 2010, Salı


Anahtar uygulamaya özgü kaynak kimliği olmalı

Neden bu Durum alabilirim?

05-18 20:29:38.044: ERROR/AndroidRuntime(5453): java.lang.IllegalArgumentException: The key must be an application-specific resource id.
05-18 20:29:38.044: ERROR/AndroidRuntime(5453):     at android.view.View.setTag(View.java:7704)
05-18 20:29:38.044: ERROR/AndroidRuntime(5453):     at com.mypkg.viewP.inflateRow(viewP.java:518)

söz konusu hattı

((Button) row.findViewById(R.id.btnPickContact)).setTag(TAG_ONLINE_ID,objContact.onlineid);

ve olarak tanımlanır:

private static final int TAG_ONLINE_ID = 1;

CEVAP
22 ŞUBAT 2013, Cuma


Partiye biraz geç kaldım ama bu sorunu kendim bugün rastladım ve bir cevap verelim dedim. Bu cevap diğer cevaplar bir derleme biraz, ama bir bükülme ile. Öncelikle, kimliği, hem oldu işaret ederek Diğerleri, olamaz sabit olarak tanımlanan kod (gibi private static final int MYID = 123) veya başka bir int bu tanımladığınız gibi bir alan bir yerde.

Kimliği önceden derlenmiş benzersiz bir kimlik, sadece values/strings.xml sizi dizeleri için olanlar (yani R. string.gibi olmalı Hoşgeldiniz). Daha fazla bilgi için http://developer.android.com/guide/topics/resources/available-resources.html http://developer.android.com/guide/topics/resources/more-resources.html bakın.

Benim önerim yeni bir dosya values/tags.xml adı oluşturma ve yazma

    <resources xmlns:android="http://schemas.android.com/apk/res/android">
      <item name="TAG_ONLINE_ID" type="id"/>
    </resources>

Daha iyi EtienneSky önerdiği gibi strings.xml bunu koymak yerine ayrı bir dosya oluşturmak için olduğunu düşünüyorum.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fast2hell

    fast2hell

    16 AĞUSTOS 2006
  • ICON

    ICON

    19 EKİM 2011
  • USI Events

    USI Events

    6 AĞUSTOS 2013

İLGİLİ SORU / CEVAPLAR