android - onItemClickListener only opens first item's span menu -


im trying spannable listview. when click on item in listview should span , reveal 2 buttons. far have managed create customadapter that.

my problem when click on item first item on listview spanned. how fix , how set onclicklistener 2 buttons.

my listview activity:

 protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);         listview productlist=(listview)findviewbyid(android.r.id.list);         productlist.setonitemclicklistener(new adapterview.onitemclicklistener() {             @override             public void onitemclick(adapterview<?> parent, view view, int position, long id) {                 product product= (product) parent.getitematposition(position);                 button checkbutton= (button)findviewbyid(r.id.checkbutton);                 button deletebutton=(button)findviewbyid(r.id.deletebutton);                 checkbutton.setvisibility(view.visible);                 deletebutton.setvisibility(view.visible);             }         });           dbhandler=new dbhandler(this,null,null,1);        // getproductsfromdb();         adapter= new customadapter(this,productnames);         productlist.setadapter(adapter);      }     public void addnewproduct(view view){         edittext userinput=(edittext)findviewbyid(r.id.userinput);         userinput.setvisibility(view.visible);         string productname=userinput.gettext().tostring();          if(productname.equals(""))return;          product product=new product();         product.set_productname(productname);         product.set_checked(false);         productnames.add(product);         //dbhandler.addproduct(product);         adapter.notifydatasetchanged();         userinput.settext("");         //getproductsfromdb(); 

customadapter:

 customadapter(context context, arraylist<product> productnames) {         super(context,r.layout.custom_list_row ,productnames);     }      @override     public view getview(int position, view convertview, viewgroup parent) {         layoutinflater inflater=layoutinflater.from(getcontext());         view customview= inflater.inflate(r.layout.custom_list_row,parent,false);          final product singleproduct=getitem(position);         textview productname=(textview)customview.findviewbyid(r.id.productname);         button checkbutton = (button)customview.findviewbyid(r.id.checkbutton);         button deletebutton = (button)customview.findviewbyid(r.id.deletebutton);          productname.settext(singleproduct.get_productname());           return customview;     } 

you did not post custom_list_row layout, can guess code in layout have viewgroup or view (let's assume textview display product name in code) item , 2 buttons below have visibility set gone @ first. want when users click on item, set 2 buttons below item visible. here 1 way so:

  1. remove setonitemclicklistener on productlist activity
  2. in getview() method of customadapter set onclicklistener product name view. this:

    textview productname=(textview)customview.findviewbyid(r.id.productname);

    button checkbutton = (button)customview.findviewbyid(r.id.checkbutton);

    button deletebutton = (button)customview.findviewbyid(r.id.deletebutton);

    productname.setonclicklistener(new onclicklistener() {  @override public void onclick(view v) {     checkbutton.setvisibility(view.visible);     deletebutton.setvisibility(view.visible); } } 

Comments

Popular posts from this blog

apache - PHP Soap issue while content length is larger -

asynchronous - Python asyncio task got bad yield -

javascript - Complete OpenIDConnect auth when requesting via Ajax -