android - Getting Result from Activity Started with SearchManager -


i following relatively simple tutorial on how manually start searchableactivity can result it.

he setting base activity (activity a) searchable activity (in manifest), receives search intent , manually launch real search activity (activity b) startactivityforresult,

after altering manifests, has 1 block of code. question:

where put code?

private void handleintent(intent intent) {    // intent, verify action , query    if (intent.action_search.equals(intent.getaction())) {      string query = intent.getstringextra(searchmanager.query);      // manually launch real search activity      final intent searchintent = new intent(getapplicationcontext(),            mysearchactivity.class);      // add query intent extras      searchintent.putextra(searchmanager.query, query);      startactivityforresult(searchintent, activity_request_code);    } 

activity or b? , call it?

extra info - how doing - cut out?

@override public boolean oncreateoptionsmenu(menu menu) {     menuinflater inflater = getsupportmenuinflater();     inflater.inflate(r.menu.menu, menu);     menuitem searchitem = menu.finditem(r.id.menu_search);     searchmanager searchmanager = (searchmanager) getsystemservice(context.search_service);  if (build.version.sdk_int < build.version_codes.honeycomb) {     searchview searchview = (searchview) searchitem.getactionview();     searchview.setsearchableinfo(searchmanager             .getsearchableinfo(getcomponentname()));     searchview.seticonifiedbydefault(true);  } else if (build.version.sdk_int >= build.version_codes.honeycomb) {     setupnewsearchview(searchitem, searchmanager); }  return true; 

}

@targetapi(build.version_codes.honeycomb) private void setupnewsearchview(final menuitem searchitem, searchmanager searchmanager) {     android.widget.searchview searchview = (android.widget.searchview) searchitem.getactionview();     searchview.setsearchableinfo(searchmanager.getsearchableinfo(getcomponentname()));     searchview.seticonifiedbydefault(true);  } 

first make activity(a) singleinstance/singletop in manifest.xml android:launchmode="singleinstance|singletop"
use onnewintent(intent intent) activity(a) handleintent(intent)

edit:
activitya.java

@override protected void onnewintent(intent intent) {     handleintent(intent); } 

please read tutorial full clear view of happening


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -