Ok, trochę mój błąd, ponieważ okroiłem to pytanie na szybko i trochę nie tak wyszło.
To, co faktycznie potrzebuje zrobić to przekreślić tekst na danej pozycji, wybacz.
Ustawianie flagi samo w sobie działa poprawnie, w powyższym kodzie natomiast nie daje żadnego obserwowalnego efektu.
(natomiast gdy ustawie onItemClickListener i z view, ktore przyjmuje listener pobieram TextView i na nim ustawiam flage efekt jest poprawny)
notes_container.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
TextView tv = (TextView) view.findViewById(android.R.id.text1);
int flags = tv.getPaintFlags();
flags &= Paint.STRIKE_THRU_TEXT_FLAG;
if (flags == 0)
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
else
tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG);
}
});
Gdy próbuje zrobić coś podobnego w funkcji z 1 posta nie ma efektu.
W tym wypadku wygląda ona mniej więcej tak:
for(int i = 0; i < notes_container.getAdapter().getCount(); i++) {
View view = notes_container.getAdapter().getView(i, null, null);
TextView tv = (TextView) view.findViewById(android.R.id.text1);
int flags = tv.getPaintFlags();
flags &= Paint.STRIKE_THRU_TEXT_FLAG;
if (flags == 0)
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
else
tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG);
}