2016-04-27 13 views
0

Ich habe eine ListView und meine Anforderung besteht darin, das erste Element als ausgewählt (mit weißem Hintergrund und anderen Text, andere Listenelemente haben einen grauen Hintergrund). Dies ist der Beispielcode ich verwendeAndroid TextView: getText() funktioniert, aber setText funktioniert nicht

View listFirstItem = myListAdapter.getView(0,null, null); 
Log.d(TAG, ((TextView)listFirstItem.findViewById(R.id.itemTitle)).getText()+ ""); 
((TextView)listFirstItem.findViewById(R.id.itemTitle)).setText("My Text"); 
listFirstItem.setBackground(getActivity().getDrawable(R.drawable.ripple)); 

Interessanterweise ich richtigen Element Titel (Titel des ersten Listenelementes) bekommen, aber wenn ich versuche, diesen Titel von Versuch zu ändern, um die Farbe zu ändern, es funktioniert. Ich kenne eine Arbeit um die gewünschte Ausgabe zu erreichen, aber ich möchte verstehen, was das Problem mit diesem Code ist.

+0

Ich glaube, Sie haben Text gesetzt fertig, aber Textview begnügt sich nicht aktualisieren noch. oder immer noch Fehler, dann posten mehr Details – GiapLee

+0

Bitte post xml Layout, wo itemTitle definiert ist –

+0

@GiapLee Es wirft keine Ausnahme oder Fehlermeldung. – Alex

Antwort

0

Sie können den Code wie unten schreiben:

View listFirstItem = myListAdapter.getView(0,null, null); 
TextView tv = (TextView)listFirstItem.findViewById(R.id.itemTitle); 
Log.d(TAG, (tv.getText().toString()); 
tv.setText("My Text"); 
listFirstItem.setBackground(getActivity().getDrawable(R.drawable.ripple)); 
0

Sie eine Listenansicht haben! Listenansicht zum Anzeigen von Daten, Verwendung von Daten, die Sie an IhrenAdapter übergeben haben. Sie müssen Ihre Daten ändern, und dann NotifyDataSetChanged() es.

sehen diese link

+0

Warum Notify erforderlich ist. Incase of ListView Item Klicken Sie auf Ich kann die Ansicht ohne Notify aktualisieren und es funktioniert einwandfrei. Warum es hier nicht passiert. – Alex

+1

@Alex Sie können es nicht tun ... Listview Update von Adapterdaten, nicht anders Weg –

+0

Aber warum funktioniert es im Falle von Click-Ereignis? – Alex

Verwandte Themen