web-dev-qa-db-ja.com

R.styleableを解決できないのはなぜですか?

私はresources.xmlファイルをディレクトリvalues /の下に配置しています、それは

/ values/resources.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="TheMissingTabWidget"> 
        <attr name="Android:divider" /> 
    </declare-styleable> 
</resources>

私のJavaコードで、R.styleable.TheMissingTabWidgetによってこのリソースにアクセスしようとすると、Eclipseはstyleableを解決できないか、フィールドではないだと不平を言います。なぜですか?このリソースにアクセスできないのはなぜですか?(Android 2.1-updatedを使用しています)。

16
Leem

plz make values/attrs.xmlこのようなリソース

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="**com.admob.Android.ads.AdView**"><--- where u want to use
       <attr name="backgroundColor" format="color" />
       <attr name="TextColor" format="color" />
       <attr name="keywords" format="string" />
       <attr name="refreshInterval" format="integer" />
    </declare-styleable>
</resources>
17
Arun

SDKリリースノート によると、

Android.R.styleableクラスとそのフィールドがパブリックAPIから削除され、アプリケーションの前方互換性が向上しました。 Android.R.styleableで宣言された定数はプラットフォーム固有であり、バージョン間で任意に変更される可能性があるため、アプリケーションでの使用には適していませんでした。リソースまたはコードからプラットフォームのスタイル可能な属性に引き続きアクセスできます。そのためには、プロジェクトのres/values/R.attrsファイルでを使用してカスタムリソース要素を宣言してから、内部で属性を宣言します。例については、「sdk」/samples/ApiDemos/res/values/attrs.xmlをご覧ください。カスタムリソースの詳細については、「 カスタムレイアウトリソース 」を参照してください。 Android.R.styleableのドキュメントは引き続きSDKで提供されていますが、プラットフォームのさまざまな要素のスタイル可能な属性の参照としてのみ提供されています。

ApiDemosコードとファイルres/values/attrs.xmlをご覧ください

15
xevincent

このようにスタイル設定可能なパッケージレベルにアクセスできます

<yourpackagename>.R.styleable.name
0
Ishan Fernando

resources.xmlではなく、スタイルをattrs.xmlで宣言する必要があります。その後、次のようにコードから参照できます。

R.styleable.TheMissingTabWidget
0
IgorGanapolsky