2016-09-28 2 views
-3

Ich habe versucht, eine Möglichkeit zum Ändern der Textfarbe eines bestimmten Listenansichtsobjekts mithilfe von Optionsfeldern zu finden, aber ich kann es nicht herausfinden. Kann jemand helfen?Wie ändere ich die Textfarbe eines Listenansichtsobjekts mithilfe der Optionsfelder?

+0

bitte etwas zu verwenden, was Sie versucht haben? –

+0

Wenn Sie Bean für Listenansicht definiert haben, nehmen Sie eine variable Farbe und legen Sie die Standardfarbe fest. Wenn Sie auf das Optionsfeld klicken, ändern Sie die Farbe und benachrichtigen Sie den Adapter. –

+0

Bitte teilen Sie den Code, den Sie versucht haben. –

Antwort

0

Verwenden Sie Adapter und ViewHolder für ListView-Elemente? Wenn ja, schreibe einfach den Farbcode in deinen Adapter. Zum Beispiel:

private static class ItemHolder { 
    TextView name; 
} 

In-Adapter: anzeigen

public class CompanyAdapter extends ArrayAdapter<CompanyDomain> { 

private ArrayList<CompanyDomain> companies; 

public CompanyAdapter(Context context, int resource, 
     ArrayList<CompanyDomain> items) { 
    super(context, resource, items); 
    this.companies = items; 
} 

public View getView(final int position, View convertView, ViewGroup parent) { 
    ItemHolder itemHolder; 
    View view = convertView; 
    if (view == null) { 
     LayoutInflater inflater = LayoutInflater.from(getContext()); 
     view = inflater.inflate(R.layout.company_list_row, null); 
     itemHolder = new ItemHolder(); 
     itemHolder.name = (TextView) view.findViewById(R.id.companyNameTitle); 
    } 
    else { 
     itemHolder = (ItemHolder) view.getTag(); 
    } 

    // condition here 
    if (have to change color) { 
     itemHolder.name.setTextColor(Color.RED); 
    } 

Aber jetzt ist es besser RecyclerView mit seinem RecyclerView.Adapter

Verwandte Themen