i have designed list view has 1 imageview, textview, , button. imageview , textview visible on clicking imageview delete button visible selected view problem while selecting next list option need hide button need show 1 button @ time. can me please?
public class historymenu extends mainactivity { public final static string item_title = "title"; public final static string item_caption = "caption"; public static boolean deletedispflag=false; public static view selectdelete=null; string optionselectedvalue; arraylist<string> liststring; arrayadapter<string> aa; listview settingssublist; layoutinflater linf; // public string[] stringlist={"n @ 17.3 mph (16-18)","10:25, 20 june 2013","n @ 17.3 mph (16-18)","10:25, 20 june 2013","n @ 17.3 mph (16-18)","10:25, 20 june 2013","n @ 17.3 mph (16-18)","10:25, 20 june 2013"}; // historylistadapters historylistadapter; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_history_menu); settingssublist = (listview) findviewbyid(r.id.settings_sub_list); layoutparams layout = new layoutparams(gravity.center); layoutinflater inflator = (layoutinflater)this.getsystemservice(context.layout_inflater_service); view v = inflator.inflate(r.layout.centered_menu_title, null); ((textview)v.findviewbyid(r.id.title)).settextcolor(getresources().getcolor(r.color.white)); this.getsupportactionbar().setcustomview(v,layout); liststring=new arraylist<string>(); liststring.add("history object 1"); liststring.add("history object 2"); liststring.add("history object 3"); liststring.add("history object 4"); liststring.add("history object 5"); myarrayadapter adapter = new myarrayadapter(this, r.layout.history_option_selector, liststring); settingssublist.setadapter(adapter); settingssublist.setonitemclicklistener(new onitemclicklistener() { @override public void onitemclick(adapterview<?> parent, view arg1, int position, long arg3) { } }); } public class myarrayadapter extends arrayadapter<string> { int previousdegrees = 0; int degrees = 90; rotateanimation animation = new rotateanimation(0f, 90f, animation.relative_to_self, 0.5f, animation.relative_to_self, 0.5f); //, 200, 200); // canvas.getwidth() / 2, canvas.getheight() / 2); context context; int layoutresourceid; arraylist<string> historyitems = new arraylist<string>(); public myarrayadapter(context context, int layoutresourceid,arraylist<string> historyitems) { super(context, layoutresourceid, historyitems); this.layoutresourceid = layoutresourceid; this.context = context; this.historyitems = historyitems; } @override public view getview(int position, view convertview, viewgroup parent) { animation.setduration(1000l); view item = convertview; if (item == null) { layoutinflater inflater = ((activity) context).getlayoutinflater(); item = inflater.inflate(layoutresourceid, parent, false); } textview items = (textview) item.findviewbyid(r.id.history_list_option_text); final imageview select_option = (imageview) item.findviewbyid(r.id.history_list_option_select_image); final button delete = (button) item.findviewbyid(r.id.history_list_option_delete_button); delete.setvisibility(view.invisible); string itemtext = historyitems.get(position); items.settext(itemtext); select_option.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { select_option.startanimation(animation); if(deletedispflag == false) { delete.setvisibility(v.visible); selectdelete = v; deletedispflag=true; } else if(deletedispflag==true) { delete.setvisibility(selectdelete.invisible); deletedispflag=false; } toast.maketext(context, "edit", toast.length_long).show(); } }); delete.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { toast.maketext(context, "delete", toast.length_long).show(); } }); return item; } } @override public void onbackpressed() { // todo auto-generated method stub intent intent = new intent(this, mainactivity.class); intent.addflags(intent.flag_activity_clear_top); startactivity(intent); overridependingtransition(r.drawable.activity_in_left_to_right_animation,r.drawable.activity_out_right_to_left_animation); } }
you can achieve storing reference clicked button
private button prevdelete; and change click listener below:
select_option.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { if(prevdelete!=null){ prevdelete.setvisibility(view.invisible); } delete.setvisibility(view.visible); prevdelete = delete; select_option.startanimation(animation); selectdelete = v; toast.maketext(context, "edit", toast.length_long).show(); } });
Comments
Post a Comment