android - Change list item background in custom adapter -


i have custom adapter , want pick out new messages. adapter looks like. new messages have new_message icon.

public class inputmessagesadapter extends baseadapter { private context context; private layoutinflater layoutinflater; private list<message> messagelist; private list<sellerstatement> sellerstatementlist; private list<integer> messagesids; private string arrayname = "messagesids"; private sharedpreferences prefs;      public inputmessagesadapter(context context, list<message> messagelist, list<sellerstatement> sellerstatementlist) {         this.context = context;         layoutinflater = (layoutinflater) this.context.getsystemservice(context.layout_inflater_service);         this.messagelist = messagelist;         this.sellerstatementlist = sellerstatementlist;         prefs = preferencemanager.getdefaultsharedpreferences(context);          int size = prefs.getint(arrayname + "_size", 0);         integer[] temparray = new integer[size];          for(int = 0; < size; i++)             temparray[i] = prefs.getint(arrayname + "_" + i, -1);          messagesids = new arraylist<integer>(arrays.aslist(temparray));     }      @override         public int getcount() {         return messagelist.size();     }      @override     public object getitem(int position) {         return messagelist.get(position);     }      @override     public long getitemid(int position) {         return 0;     }      @override     public view getview(final int position, view convertview, final viewgroup parent) {         message message = messagelist.get(position);          view view = convertview;         if (view == null) {             view = layoutinflater.inflate(r.layout.fragment_messages_new_row, null);         }          textview subject = (textview) view.findviewbyid(r.id.tvsubject);         textview date = (textview) view.findviewbyid(r.id.tvdate);         textview sender = (textview) view.findviewbyid(r.id.tvsender);         imageview icon = (imageview) view.findviewbyid(r.id.immessage);           sellerstatement sellerstatement = sellerstatementlist.get(position);          subject.settext(message.getsubject());         simpledateformat sdf = new simpledateformat("yyyy-mm-dd");         date.settext(string.valueof(sdf.format(message.gettimestamp())));         sender.settext(sellerstatement.getsender().getgoogleaccount());          drawable image = context.getresources().getdrawable(r.drawable.old_message);          if(!messagesids.contains(message.getmessageid()))             image = context.getresources().getdrawable(r.drawable.new_message);           icon.setimagedrawable(image);          return view;     } }  

i try it, items change color.

if(!messagesids.contains(message.getmessageid())) {     image = context.getresources().getdrawable(r.drawable.new_message);     view.setbackgroundcolor(color); } 

and work incorrect (i change background color layout)

view view = convertview; if (view == null) {     if(!messagesids.contains(message.getmessageid())) {         view = layoutinflater.inflate(r.layout.fragment_messages_new_row, null);     } else {             view = layoutinflater.inflate(r.layout.fragment_messages_row, null);     } } 

how can solve task?

it simple:

 view view = convertview; //find line in code  view.setbackgroundcolor(color.cyan); //add line below 

Comments

Popular posts from this blog

database - VFP Grid + SQL server 2008 - grid not showing correctly -

jquery - Set jPicker field to empty value -

.htaccess - htaccess convert request to clean url and add slash at the end of the url -