java - Android ringtone picker refresh the activity, why? -


in app have layout edit task , select ringtone , save database. when update task, 1 update ringtone name. use ringtone picker, start new intent , selected ringtone uri inside onactivityresult() method.

the problem ist, every time when click pick new ringtone page reload , lose populated data in formular, come database.

how can solve problem. there way open ringtone picker without reload complete activity after selecting ringtone?

here how open picker:

    protected void openringtonedialog() {      final intent intent = new intent(ringtonemanager.action_ringtone_picker);     intent.putextra(ringtonemanager.extra_ringtone_show_silent, false);     intent.putextra(ringtonemanager.extra_ringtone_type, ringtonemanager.type_all);     intent.putextra(ringtonemanager.extra_ringtone_title, getstring(r.string.ringtone_choose));      if (malarmtonuri != null) {         intent.putextra(ringtonemanager.extra_ringtone_existing_uri, malarmtonuri);     }      else {         intent.putextra(ringtonemanager.extra_ringtone_existing_uri, (uri) null);     }     startactivityforresult(intent, ringtone_result); } 

and here, how selected ringtone.

    @override protected void onactivityresult(final int requestcode, final int resultcode, final intent data) {      string ringtontitle = "";      // result ringtoneactivity     if (resultcode == result_ok && requestcode == ringtone_result) {         malarmtonuri = data.getparcelableextra(ringtonemanager.extra_ringtone_picked_uri);                   if (malarmtonuri != null) {             malarmtonvalue = malarmtonuri.tostring();             ringtontitle = ringtonemanager.getringtone(this, malarmtonuri).gettitle(this);                       }         else {             ringtontitle = "unknow";         }          malarmtontextview.settext(ringtontitle);     } 

thank help!

i ran in app. had overridden onresume reload view in case changes made while app wasn't on top. coming ringtone picker setting off onresume. me, safe move onresume onstart. there run when app came foreground or first started not when ringtone picker dismissed.


Comments