android - ImageView setBackgroundRessource not update even with inflate -
i'm trying update imageview gridview border, doing have xml file works :
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="#158cdb" /> </shape> </item> <item android:left="3dp" android:right="3dp" android:top="3dp" android:bottom="3dp"> <shape android:shape="rectangle"> <solid android:color="#ffffff" /> </shape> </item> </layer-list>
so launch activity, timer launched , after 15 secondes, try update imageview, tried code :
public void highlightfooditem(int id) { imageadapter ia = (imageadapter) _grid.getadapter(); (int = 0; < ia.getcount(); i++) { view currentview = ia.getview(i, null, _grid); if(id == integer.valueof(currentview.gettag().tostring().trim())) { currentview.setbackgroundresource(r.drawable.border); currentview.invalidate(); } } }
so grid of course gridview i'm using, checked enter in if nothing happend , don't see why... it's right view, have position.
if need timer launch function :
public void timer(int duration, int tick) { _timer = new countdowntimer(duration, tick) { public void ontick(long millisuntilfinished) { _isrunning = true; } public void onfinish() { _isrunning = false; string currentmeal = getmealtype(); int currentcounter = -1; int currentfooditemid = -1; (int = 0; < _user.get_preferences().size(); i++) { historic temp = _user.get_preferences().get(i); string[] hmealtype = temp.gettype().split("_"); if(currentmeal.equals(hmealtype[1]) && hmealtype[0].equals("preferences")) { if(temp.getcounter() > currentcounter && !_foodlist.selectlistcontainsfood(temp.getfooditemid())) { currentfooditemid = temp.getfooditemid(); currentcounter = temp.getcounter(); } } } _prompt.settext("> maybe should take a(n) "+_foodlist.getfooditemname(currentfooditemid)+" it."); final int id = currentfooditemid; runonuithread(new runnable() { @override public void run() { highlightfooditem(id); } }); } }; _timer.start(); }
if can me...
best regards, zed13
ps : forgive poor english x)
ok, try update view got image adapter, if use function getchildat gridview succeed function :
public void highlightfooditem(int id) { imageadapter ia = (imageadapter) _grid.getadapter(); (int = 0; < ia.getcount(); i++) { view currentview = ia.getview(i, null, _grid); if(id == integer.valueof(currentview.gettag().tostring().trim())) { _grid.getchildat(i).setbackgroundresource(r.drawable.border_cyan); } } }
Comments
Post a Comment