android - remove row from another activity -


i have listview inflated custom array adapter , onclick takes activity data related row .after clicking on delete supposed delete item list , list.

i using code below :

int deleteposition=customizedlistview.deleteposition; customizedlistview.list.removeviewat(deleteposition); customizedlistview.adapter.notifydatasetchanged();  finish(); 

but there error @ line :

 customizedlistview.list.removeviewat(deleteposition); 

please tell me how fix ?

logcat details:

java.lang.unsupportedoperationexception: removeviewat(int) not supported in adapterview @ android.widget.adapterview.removeviewat(adapterview.java:511)     @ com.example.androidhive.openedmsg$1.onclick(openedmsg.java:35)     @ android.view.view.performclick(view.java:3549)     @ android.view.view$performclick.run(view.java:14393)     @ android.os.handler.handlecallback(handler.java:605)     @ android.os.handler.dispatchmessage(handler.java:92)     @ android.os.looper.loop(looper.java:154)     @ android.app.activitythread.main(activitythread.java:4945)     @ java.lang.reflect.method.invokenative(native method)     @ java.lang.reflect.method.invoke(method.java:511) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:784)     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:551)     @ dalvik.system.nativestart.main(native method) 

the entire code :

customizedlistview.class

public class customizedlistview extends activity {     // static variables     static final string url = "https://itunes.apple.com/us/rss/topalbums/limit=20/json";     // xml node keys     static final string key_song = "song"; // parent node     static final string key_id = "id";     static final string key_title = "title";     static final string key_artist = "artist";     static final string key_duration = "duration";     static final string key_thumb_url = "thumb_url";      static listview list;     static lazyadapter adapter;      hashmap<string, string> map;      public static  string newactivityno;      public static int deleteposition;       @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.main);           arraylist<hashmap<string, string>> songslist = new arraylist<hashmap<string, string>>();          jsonobject json = jsonfunctions.getjsonfromurl(url);           try {             jsonobject arr2 = json.getjsonobject("feed");             jsonarray arr = arr2.getjsonarray("entry");              (int = 0; < arr.length(); i++) {                 jsonobject e1 = arr.getjsonobject(i);                  jsonarray arr3 = e1.getjsonarray("im:image");                  jsonobject arr8 = e1.getjsonobject("im:name");                  jsonobject arr10 = e1.getjsonobject("im:artist");                      jsonobject e12 = arr3.getjsonobject(0);              // creating new hashmap              map = new hashmap<string, string>();              map.put(key_thumb_url,  e12.getstring("label"));              map.put(key_artist, arr8.getstring("label"));             map.put(key_title, arr10.getstring("label"));             // adding hashlist arraylist             songslist.add(map);             }          } catch (jsonexception e) {             // log.e("log_tag", "error parsing data "+e.tostring());             toast.maketext(getbasecontext(),                     "network communication error!", 5).show();         }           list=(listview)findviewbyid(r.id.list);          // getting adapter passing xml data arraylist         adapter=new lazyadapter(this, songslist);                 list.setadapter(adapter);          // click event single list row         list.setonitemclicklistener(new onitemclicklistener() {              @override             public void onitemclick(adapterview<?> parent, view view,                      int position, long id) {                                  @suppresswarnings("unchecked")                                 hashmap<string, string> o= (hashmap<string, string>) list.getitematposition(position);                             //   toast.maketext(customizedlistview.this, "id '" + o.get("title") + "' clicked.", toast.length_short).show();                                   deleteposition=position;                              newactivityno= o.get("title");                              intent ii= new intent(getbasecontext(),newactivity.class);                                  startactivity(ii);              }         });          }    } 

newactivity.class

public class newactivity extends activity{        @override         public void oncreate(bundle savedinstancestate) {             super.oncreate(savedinstancestate);             setcontentview(r.layout.newlayout);               textview tv1=(textview)findviewbyid(r.id.textview11);             textview tv2=(textview)findviewbyid(r.id.textview12);              button bn=(button)findviewbyid(r.id.button1);              tv2.settext(customizedlistview.newactivityno);               bn.setonclicklistener(new onclicklistener() {                  @override                 public void onclick(view v) {                     // todo auto-generated method stub                     int deleteposition=customizedlistview.deleteposition;                     customizedlistview.list.removeviewat(deleteposition);                     customizedlistview.adapter.notifydatasetchanged();                      finish();                  }             }); }  } 

you approaching problem in wrong manner. rather remove view adapterview, remove data data set , call notifydatasetchanged(). (this remove unwanted view automatically.)


Comments

Popular posts from this blog

sublimetext3 - what keyboard shortcut is to comment/uncomment for this script tag in sublime -

post - imageshack API cURL -

dataset - MPAndroidchart returning no chart Data available -