nå enskilda element i en listview

Diskussion i 'Frågor, support och diskussion' startad av mardox, 6 dec 2010.

  1. mardox

    mardox Kid Droid Medlem

    Blev medlem:
    31 jan 2010
    Inlägg:
    73
    Mottagna gillanden:
    6

    MINA ENHETER

    Hej,

    detta är ett problem jag länge försökt tackla, det är så att när jag populerar min lista måste jag andra färgen av texten i vissa av mina listview element men absolut inte alla. detta går enkelt och smidigt att göra när man är innuti onListItemClick metoden genom
    Kod:
    protected void onListItemClick(ListView l, View v, int position, long id) {
         TV = (TextView) getListAdapter().getView(position, v, l).findViewById(R.id.text2);
         TV.setTextColor(getResources().getColor(R.color.pressed_text_color));
    }
    
    men jag vill kunna göra samma sak innan jag klickar på listan, det är detta jag inte får att fungera..
    det jag försökt är följande vilket sker i en separat metod.

    Kod:
    //IDt av layouter som innehåller min listview
    RelativeLayout main = (RelativeLayout ) findViewById(R.id.mainLayout); 
    int position = 0; // listans första element
    ListView yourList = (ListView) findViewById(android.R.id.list); // listans ID
    //text2 är IDt av den ena textviewn i min listrow layout
    TextView tv = (TextView) getListAdapter().getView(position, yourList , main).findViewById(R.id.text2);
    
    //HÄR FÅR JAG NULLPOINTER EXCEPTION , efter att grävt runt lite vet jag att tv är null
    tv.setTextColor(getResources().getColor(R.color.pressed_text_color));
    
    hur ska jag gå till väga ?

    tack tusen tack till den som hittar detta svar jag letar efter alltför länge!
     
  2. woody

    woody Teen Droid Medlem

    Blev medlem:
    3 sept 2009
    Inlägg:
    319
    Mottagna gillanden:
    19

    MINA ENHETER

    Jag tycker detta bör hanteras i listadaptern. Anvnder du SImpleCursorAdapter? Implementera i så fall en ViewBinder
     
  3. mardox

    mardox Kid Droid Medlem

    Blev medlem:
    31 jan 2010
    Inlägg:
    73
    Mottagna gillanden:
    6

    MINA ENHETER

    Tack för det snabba svaret, ja jag använder simplecursoradapter, skall testa det imorn, lite sent nu.

    Men då jag aldrig använt viewbinder och så jag inte fastnar på direkten när jag försöker, finns det något som du känner man bör veta som kan krångla innan man ger sig in på viewbinder?

    Edit.
    Ett problem jag direkt ser är att jag fortfarande måste hitta rätt view enligt
    setViewValue (View view, Object data, String textRepresentation)

    Det var ju när jag försökte hitta denna view som jag blev lämnad med en nullpointer :/
     
    Last edited: 6 dec 2010
  4. woody

    woody Teen Droid Medlem

    Blev medlem:
    3 sept 2009
    Inlägg:
    319
    Mottagna gillanden:
    19

    MINA ENHETER

    Länkade till fel ViewBinder. SimpleCursorAdapter.ViewBinder ska det vara.
    Din ViewBinders setViewValue anropas en gång för varje rad och du får ju med dig view:en som argument och med hjälp av datan i cursorn borde du kunna avgöra vilken färg du ska ha.