title: Issue in setting bgcolor for gridview items in android
body: <p>This may be simple but i couldn't find solution for this. The problem is setting the background color for gridview items inside the onitemlongclicklistener method.</p>
  
  <p>I have two linear layouts, one contains the textview and gridview and another contains some buttons(I set this layout like the menubar on top of the screen). I hide the second one from the screen using setVisibility(View.GONE) and when ever I do itemlongclick on the gridview item the second one will appear using setVisibility(View.VISIBLE) at the same time I want to change the bgcolor of the clicked/selected item.</p>
  
  <p>Everything is working fine but whenever the second layout is visible and also whenever scrolling the gridview, the clicked/selected bgcolor is disappear.</p>
  
  <p>I tried so many ways but I couldn't solve this problem. Please have look on my coding and tell me what I did wrong.</p>
  
  <pre><code>gv.setOnItemLongClickListener(new OnItemLongClickListener() {
            public boolean onItemLongClick(AdapterView&lt;?&gt; parent, View strings,
                            int position, long id) {
                final Option o = dir.get(position);
               //gv.performItemClick(gv, position,gv.getItemIdAtPosition(position));
  
                /* if(pos!=-1) 
                {
                gv.getChildAt(pos).setBackgroundColor(0xffffffff);
  
                }*/
                strings.setSelected(true);
               // TextView tx=(TextView)strings.findViewById(R.id.grid_item_label);
              //  tx.findViewById(id).setBackgroundColor(0xff0000ff);
               /*if(!o.getData().equalsIgnoreCase("o")){
  
  
                   //gv.getChildAt(position).setSelected(true);    
                   fill(new File(new File(o.getPath()).getParent()),position);
  
            }*/
               /*try
               {
                   gv.getSelectedView().setBackgroundColor(0xffcccccc);
               }
               catch(Exception e){
                  Toast.makeText(FffsdActivity.this, "ok\n"+e,Toast.LENGTH_SHORT).show();
  
               }*/
  
               /*for(int i=0;i&lt;nofifo;i++)
  
                {
                   try{
                   if(gv.getChildAt(i).isSelected())
                   {
                         gv.getChildAt(i).setBackgroundColor(0xffbbbbbb); 
                          // Toast.makeText(FffsdActivity.this, "yes ok\n"+i,Toast.LENGTH_SHORT).show();
  
                   }
                   else{
                             gv.getChildAt(i).setBackgroundColor(0xffffffff); 
                           //Toast.makeText(FffsdActivity.this, "no ok\n"+i,Toast.LENGTH_SHORT).show();
  
                   }
                   }
                   catch(Exception e)
                   {
                  Toast.makeText(FffsdActivity.this, "i wanna e :"+e+"\n"+i,Toast.LENGTH_SHORT).show();
  
                   }
                  try{
                   gv.getChildAt(i).setSelected(false);
                     //Toast.makeText(FffsdActivity.this, "gv ok\n"+i,Toast.LENGTH_SHORT).show();
  
                  }catch(Exception e){
                        Toast.makeText(FffsdActivity.this, "i  wanna setselected e :"+e+"\n"+i,Toast.LENGTH_SHORT).show();
  
                  }
  
                }*/
  
  
               // Toast.makeText(FffsdActivity.this, "i wanna c :"+gv.getChildAt(position).isSelected(),Toast.LENGTH_LONG).show();
               //gv.getSelectedView().setBackgroundColor(0xffcccccc);         
               pos=position;
              if(o.getData().equalsIgnoreCase("parent directory"))
              {
                  fill(new File(o.getPath()),-1);
              }
               else if(o.getData().equalsIgnoreCase("folder"))
              {
                   llfftools.setVisibility(View.VISIBLE);
                   TranslateAnimation slide = new TranslateAnimation(0, 0,-llfftools.getHeight(),0 );   
                   slide.setDuration(100);   
                   slide.setFillAfter(true);   
                  llfftools.startAnimation(slide); 
                  //fill(new File(new File(o.getPath()).getParent()));
  
                  onFolderClick(o);
                   //gv.getChildAt(position).setBackgroundColor(0xffaaaaaa);
  
  
              }
  </code></pre>
  
  <p>and my baseadapter is :</p>
  
  <pre><code>    public class ImageAdapter extends BaseAdapter {
  private Context context;
  private final List&lt;Option&gt; mobileValues;
  
  
  
  public ImageAdapter(Context context,List&lt;Option&gt; fofivalues) {
      this.context = context;
      this.mobileValues = fofivalues;
  }
  
  public View getView(int position, View convertView, ViewGroup parent) {
  
      LayoutInflater inflater = (LayoutInflater) context
          .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  
      View gridView;
      //if (convertView == null) {
  
          gridView = new View(context);
  
          // get layout from mobile.xml
          gridView = inflater.inflate(R.layout.mobile, null);
  
  
  
      /*} else {
          gridView = (View) convertView;
      }*/
      // set value into textview
  
                  TextView textView = (TextView) gridView.findViewById(R.id.grid_item_label);
                  //to set the max no.of chararcters in textview
                  String iname=(mobileValues.get(position).getName().length()&gt;10)?mobileValues.get(position).getName().substring(0, 9)+"..":mobileValues.get(position).getName();
                  if(mobileValues.get(position).getPosition()==position&amp;&amp;mobileValues.get(position).getPosition()!=-1)
                     {
                      textView.setText(iname);
                      textView.setTextColor(0xff0000ff);
                     }
                  else{
                  textView.setText(iname);
                  }
  
                  // set image based on selected text
                  final ImageView imageView = (ImageView) gridView.findViewById(R.id.grid_item_image);
                  /*gridView.setOnLongClickListener(new OnLongClickListener() {
  
                      public boolean onLongClick(View v) {
                          gridView.setBackgroundColor(0xffaaaaaa);
                          // TODO Auto-generated method stub
                          return false;
                      }
                  });*/
                  String mobile = mobileValues.get(position).getData();
                  if(mobile=="o")
                  {
                   //do nothing
                      imageView.setImageResource(R.drawable.white);
                  }
  
                  else if(mobile=="Parent Directory")
                  {
                      imageView.setImageResource(R.drawable.parent);
                  }
                  else if (mobile=="Folder") 
                  {
                      imageView.setImageResource(R.drawable.folderg);
                  }
                  else{
                      imageView.setImageResource(R.drawable.picicon);
                  }
  
  
  
      return gridView;
  }
  
  public int getCount() {
      return mobileValues.size();
  }
  
  public Object getItem(int position) {
      return null;
  }
  
  public long getItemId(int position) {
      return 0;
  }
  
      }
  </code></pre>
  
  <p>thanks in advance and if you want anything more please let me know...</p>