2
저는이 문제를 거의 일주일에 해결하려고했지만 왜 이런 일이 벌어지고 있는지 아직 잘 모릅니다.Searchview에 여분의 onBackPressed가 필요합니다.
public boolean onQueryTextChange(String newText) {
if(newText.length()==0) {
if(!(getSupportFragmentManager().findFragmentById(R.id.routesFragment) instanceof Fragment_Search)) {
fragment_search = new Fragment_Search();
replaceFragment(fragment_search);
}
}
if (newText.length()>0){
final DatabaseAccess databaseAccess = DatabaseAccess.getInstance(getApplicationContext());
databaseAccess.open();
ArrayList<Route_Common> list = databaseAccess.searchInDB(newText);
databaseAccess.close();
fragment_search.listChanged(list);
}
return false;
}
그래서, searchview가 확장 될 때 나는 특별한 Search_fragment와 현재의 단편을 대체 : 나는 OnQueryTextListener (와 Searchview)가 있습니다. 초를 붕괴하고 처음 - - 다시 가고 내 searchview을 숨기고 내 이전 조각으로 돌아가려면
public void onBackPressed() {
if (!searchView.isIconified()) {
searchView.setIconified(true);
onBackPressed();
}
super.onBackPressed();
drawerToggle.setDrawerIndicatorEnabled(true);
}
는, 나는 두 번 눌러야합니다. searchView.clearFocus() 프로그래밍 방식으로 시도하고 에 두 번 onBackPressed()를 호출하지만 여전히 작동하지 않습니다. 어쩌면 정말 바보 같은 질문 일지 모르지만 나는 정말로 도움이 될 것입니다.