android - How can I handle both kinds of SearchView in my library? -


situation

i'm building library facilitate construction of instant search interfaces on android. library manipulates searchviews , other ui elements link them , handles state.

consequently, have methods taking searchview objects parameters, , i'm faced dilemma: either use android.widget.searchview or android.support.v7.widget.searchview, cannot accept both appcompat 's searchview , standard searchview.

currently, handle problem overloading public methods of library accept both searchview classes, , manipulating internally wrapper class holds reference instance of each kind of searchview, can initialized , forwards each method call actual searchview:

public class searchviewfacade {     private searchview searchview;     private android.support.v7.widget.searchview supportview;      public searchviewfacade(searchview searchview) {         this.searchview = searchview;     }      public searchviewfacade(android.support.v7.widget.searchview searchview) {         supportview = searchview;     }      public void setquery(charsequence query, boolean submit) {         if (searchview != null) {             searchview.setquery(query, submit);         } else {             supportview.setquery(query, submit);         }     } }   

question

obviously not solution: need wrap searchview's methods quite burdensome. prevents ides fetching original documentation.

i searched public projects solve problem or existing questions around topic, couldn't find hint @ solution.

is there better way library handle both standard , appcompat's searchview?


Comments