android - Wrong ListView item is passed by the intent -


i using backendless backend service, prob (i guess) more android/java. if u not familiar backendless, guess u can help, if u know of course :)

i have there fragment calls , opens dialogfragment listview. using there iterator retrieve data. brings each column data table array. set onclickeditemlistener when item clicked, send value textview in fragment called from.

the data comes in wrong order - didnt how sortby, connects bigger prob have there - there column there named "propertytypes". holds 4 strings, coming out in opposite order need. want "a" first, , get: "d" "c" "b" "a" ok, far no big deal, guess can sorted out sortby dont know how do. but... happens sends wrong value textview, meaning, example, when press "c" set "a" on textview , on, and, when press last one, in case "a", app crashing...

what hell going on there?? :))

here code - dialogfragment code:

public class optiondialogfragment extends dialogfragment implements         adapterview.onitemclicklistener {      listview mylist;     textview chosenproperty;     textview presentlistitem;     arrayadapter adapter;  @override public view oncreateview(final layoutinflater inflater, viewgroup container,                          bundle savedinstancestate) {      //mylist.addheaderview(inflater.inflate(r.layout.option_dialog_header, null, false));     view view = inflater.inflate(r.layout.option_dialog_content, null, false);     mylist = (listview) view.findviewbyid(r.id.list);     view headerview = inflater.inflate(r.layout.option_dialog_header, mylist, false);     headerview.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             dismiss();         }     });     mylist.addheaderview(headerview);     view footerview = inflater.inflate(r.layout.option_dialog_footer, mylist, false);     footerview.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             dismiss();         }     });     mylist.addfooterview(footerview);     chosenproperty = (textview) view.findviewbyid(r.id.chosenproperty);      getdialog().getwindow().requestfeature(window.feature_no_title);      return view; }  @override public void onactivitycreated(bundle savedinstancestate) {     super.onactivitycreated(savedinstancestate);      final arraylist<string> propertytypes = new arraylist<string>();     final arraylist<integer> numofroomies = new arraylist<integer>();      backendless.data.of(dialogoptions.class).find(new asynccallback<backendlesscollection<dialogoptions>>() {         @override         public void handleresponse(final backendlesscollection<dialogoptions> dialogoptions) {             final iterator<dialogoptions> iterator = dialogoptions.getcurrentpage().iterator();             while (iterator.hasnext()) {                 dialogoptions dialogoptionsobject = iterator.next();                 propertytypes.add(dialogoptionsobject.getpropertytypes());                 // numofroomies.add( dialogoptionsobject.getnumofroomies() );              }              adapter = new arrayadapter<string>(getactivity(), r.layout.dialog_option_list_item, r.id.presentlistitem, propertytypes);             mylist.setadapter(adapter);              mylist.setonitemclicklistener(new adapterview.onitemclicklistener() {                 @override                 public void onitemclick(adapterview<?> parent, view view, int position, long id) {                      string chosenitem = propertytypes.get(position);                     intent intent = new intent();                     intent.putextra("chosenitem", chosenitem);                     gettargetfragment().onactivityresult(                             gettargetrequestcode(), activity.result_ok, intent);                      dismiss();                  }             });          }          @override         public void handlefault(backendlessfault fault) {             // todo: make sure log exception, in case         }     });  } 

}

this relevant code in fragment calls dialogfragment:

@override     public view oncreateview(layoutinflater inflater, viewgroup container,                              bundle savedinstancestate) {         view view = inflater.inflate(r.layout.find_a_place, container, false);         chosenproperty = (textview) view.findviewbyid(r.id.chosenproperty);          return view;     }      @override     public void onviewcreated(final view view, bundle savedinstancestate) {          final linearlayout properttypes = (linearlayout)view.findviewbyid(r.id.propertytypes);          properttypes.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                  showdialog(getactivity(), "optiondialog");              }          });      }      private void showdialog(fragmentactivity activity, string optiondialog) {          android.support.v4.app.fragmentmanager manager = getfragmentmanager();          dialogfragment dialog = new optiondialogfragment();         dialog.settargetfragment(this, 0);         dialog.show(manager, "optiondialog");         dialog.setcancelable(true);      }      @override     public void onactivityresult(int requestcode, int resultcode, intent data) {         switch(requestcode) {             case 0:                 if (resultcode == activity.result_ok) {                     if(data!=null){                         // set value textview                         chosenproperty.settext(data.getstringextra("chosenitem"));                     }                 }                 break;         }     } 

thanks lot in advance answer!!

reference :- https://backendless.com/feature-47-loading-data-objects-from-server-with-sorting/

to sort while retrieving object use :-

queryoptions queryoptions = new queryoptions(); queryoptions.addsortbyoption( "created asc" ); dataquery.setqueryoptions( queryoptions );

use query below:-

// fetch restaurants   backendless.data.of( restaurant.class ).find( dataquery, new asynccallback<backendlesscollection<restaurant>>(){ 

Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -