SearchView继承了LinearLayout,还持有搜索布局中的重要成员,可以通过发射可以得到。因为他没有太多接口提供,比如,无法设置限制字符串长度。
而其中一个成员是SearchAutoComplete mSearchSrcTextView;(extends AutoCompleteTextView(extends EditText)),所以SearchAutoComplete间接继承了EditText,就可以设置Filter去限制长度了并提醒。
SearchView本身可以设置三个监听器:
OnFocusChangeListener listener:监听SearchView的焦点变化
OnSuggestionListener listener:监听光标位置,在用户点击移动光标时会触发,可以在该方法内设置光标位置,通过SearchSrcTextView.setSeclection()去设置光标。
OnClickListener listener:监听成员ImageView mSearchButton的点击事件
OnCloseListener listener:监听的SearchView的关闭事件,SearchView有一个成员ImageView mCloseButton;点击了会关闭SearchView。
Java反射机制的使用