Primordial référencé attributs de style

Après la lecture par le biais de Les Références À Thème Attributs je suis en train de référence de la valeur d'un attribut dans la mon thème personnalisé que j'ai mis.

Je suis en appliquant un style définis par l'utilisateur pour un CheckedTextView

<CheckedTextView
    android:id="@+id/contactInfo"
    style="@style/ListViewCheckedTextViewRowStyle" >
</CheckedTextView>

Le style définis par l'utilisateur est défini comme :

<style name="ListViewCheckedTextViewRowStyle" parent="@style/ListViewRowStyle">
    <item name="android:checkMark">?android:listChoiceIndicatorMultiple</item>
</style>

Mon thème que j'ai créé est défini comme :

<style name="Theme.Yellowgreen" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:listChoiceIndicatorMultiple">@drawable/btn_check_holo_light</item>
</style>

Cependant, la coche style qui est affiché est le périphérique par défaut du thème drawable et pas mon défini par l'utilisateur drawable.

La seule façon que je peux avoir mon drawable est affiché avec :

<style name="ListViewCheckedTextViewRowStyle" parent="@style/ListViewRowStyle">
    <item name="android:checkMark">@drawable/btn_check_holo_light</item>
</style>

Mais cela va à l'encontre de l'objectif même de l'annulation de cet attribut, surtout depuis que j'aimerais remplacer cet attribut dans plusieurs thèmes.

Je suis en train de le thème de la onCreate() méthode de mon Activity comme ceci:

public void onCreate(Bundle savedInstanceState) {
    this.setTheme(R.style.Theme_Yellowgreen);
    super.onCreate(savedInstanceState);
    //...
}

J'ai aussi essayé de définir le thème de la AndroidManifest.xml fichier comme :

<application android:theme="@style/Theme.Yellowgreen" >

Mais cela ne fonctionne pas. Ce qui pourrait mal se passer?

Mise à jour

Je viens de créer un petit exemple de projet et il semble que le code que j'ai posté ci-dessus est le travail. Donc je doit avoir un peu d'autres styles qui sont à la substitution de cette propriété ou peut-être il a faire de ma mise en page des fichiers xml.

Dans mon gros projet, j'ai deux Fragments au sein d'une Activity. Les deux Fragments ont Listviews soutenu par Adapters. Dans Fragment A la getView() méthode de la Adapter est comme suit:

public View getView(final int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.contact_entry, null);
    }

    //...

    return convertView;
}

Dans Fragment B la getView() méthode de la Adapter est comme suit:

public View getView(final int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.list_item, parent, false);
    }

    //...

    return convertView;
}

Les plans sont définis comme suit:

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/list_item"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <include layout="@layout/list_item_header" />

    <include layout="@layout/contact_entry" />

    <View android:id="@+id/list_divider"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:drawable/divider_horizontal_dark" />

</LinearLayout>

list_item_header.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/header_text"
    android:layout_width="match_parent"
    android:layout_height="25dip"
    android:background="@color/dark_blue"
    android:gravity="center_vertical"
    android:paddingLeft="6dip"
    android:textColor="@color/white"
    android:textSize="14sp"
    android:textStyle="bold" />

contact_entry.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/contactEntry"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:orientation="horizontal" >

    <QuickContactBadge
        android:id="@+id/contactPic"
        style="@style/ContactPicStyle" />

    <CheckedTextView
        android:id="@+id/contactInfo"
        style="@style/ListViewCheckedTextViewRowStyle" >
    </CheckedTextView>

</LinearLayout>

Pour quelque raison, dans Fragment B le thème coche attribut n'est pas rendu correctement alors que dans Fragment A, la coche utilise le YellowGreen Thème et est de style correctement. Pourquoi en serait-il passe?

Avez-vous défini votre YellowGreen thème dans le manifeste?
Je viens de créer un exemple de projet de tester vos fichiers de style et tout fonctionne bien pour moi. J'ai donc deuxième dominus' question: avez-vous mis de l'activité thème de YellowGreen dans le manifeste?
hey @dominus et @Idolon, j'ai mis à jour la question. J'ai essayé le réglage de l'activité thème de deux manières différentes, mais ont échoué en remplaçant le android:listChoiceIndicatorMultiple attribut style.
Si votre nom de thème est YellowGreen pourquoi as-tu mis dans le manifeste @style/Theme.Yellowgreen. Je n'ai pas beaucoup de connaissances sur des thèmes personnalisés, juste essayer de comprendre.
J'ai corrigé le nom du thème. C'était une faute de frappe dans le post original.

OriginalL'auteur toobsco42 | 2013-06-14