Fai*_*eer 2 android searchview
我正在尝试访问我的应用程序中EditText的SearchView (v7)字段,但我总是以空指针异常告终。到目前为止,我已经尝试了解决方案,并试图通过访问EditView中android:id/search_plate,R.id.search_plate,R.id.search_src_text和android:id/search_src_text,但一切都是徒劳。
代码:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.frag_menu_items, menu);
MenuItem menuItem = menu.findItem(R.id.action_search);
searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
searchPlate = (EditText) searchView.findViewById(searchPlateId);
searchPlate.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
searchPlate.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
ToastClass.getInstance().showCustomMsg(getActivity(),searchPlate.getText().toString());
}
return false;
}
});
//searchView.setOnQueryTextListener(this);
MenuItemCompat.setOnActionExpandListener(menuItem, new MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
// Do something when collapsed
// Toast.makeText(getActivity(),"collapsed",Toast.LENGTH_LONG).show();
searchMeta.setVisibility(View.GONE);
return true; // Return true to collapse action view
}
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
// Do something when expanded
// Toast.makeText(getActivity(),"expanded",Toast.LENGTH_LONG).show();
searchMeta.setVisibility(View.VISIBLE);
return true; // Return true to expand action view
}
});
super.onCreateOptionsMenu(menu,inflater);
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试访问我的应用程序中
EditText的SearchView(v7)字段。
您可以使用 Java 代码来实现。
对于android.support.v7.widget.SearchView:
EditText editText = (EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
对于android.widget.SearchView:
EditText editText = (EditText) searchView.findViewById(android.R.id.search_src_text);
| 归档时间: |
|
| 查看次数: |
1000 次 |
| 最近记录: |