Question

J'utilise un extension par expandableListViewActivity.

Maintenant, je voudrais modifier la couleur du texte d'un certain TextView à l'intérieur de chaque enfant. Je ne veux pas qu'ils soient tous les mêmes, plutôt quelque chose comme "OK" en vert et "erreur" en rouge, etc.

J'ai trébuché sur getExpandableListAdapter (). GetChildView (...), mais je ne sais pas ce que les derniers paramètres (voir ConvertView, ViewGroup Parent) sont censés être. De plus, je ne sais pas trop si j'ai besoin de lancer la valeur de retour (vue) en quelque chose?

TextView tv = (TextView)this.getExpandableListAdapter().getChildView(0, 0, false, ???, ???).findViewById(R.id.xlist_child_tv);

Cordialement, méduses

Résumé de la solution

SimpleExpandableListAdapter expListAdapter = new SimpleExpandableListAdapter(...parameters...){
    @Override
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
    {
        final View itemRenderer = super.getChildView(groupPosition, childPosition, isLastChild, convertView, parent);
        final TextView tv = (TextView) itemRenderer.findViewById(R.id.kd_child_value);

        if (tv.getText().toString().contentEquals(getString(R.string.true)))
        {
            tv.setTextColor(getResources().getColor(R.color.myred));
        }
        else if (tv.getText().toString().contentEquals(getString(R.string.false)))
        {
            tv.setTextColor(getResources().getColor(R.color.mygreen));
        }
        else
        {
            tv.setTextColor(getResources().getColor(R.color.white));
        }

        return itemRenderer;

    }
};

Ressource couleur:

<resources>
    <color name="white">#ffffffff</color>
    <color name="myred">#FFFF3523</color>
    <color name="mygreen">#FFA2CD5A</color>
</resources>

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top