좋은 프로그램은 마음의 여유에서 나온다.
액션바의 searchview 검색 후 닫기 본문
액션바의 서치뷰에서 검색어를 입력 후 소프트 키보드의 돋보기를 누르고 검색후에도 다시 돋보기 모양으로 바뀌지 않고 그 내용이 그대로 남아 있다.
플레이스토어에서는 검색을 하면 다시 돋보기 모양으로 바뀐다...
이 상태로 돌아가고 싶은데
이 상태로 남아있는다.
구글링한 결과 .. MenuItem 클래스의 collapseActionView() 메소드를 이용하면 된다.
액션바는 액션바셜록 사용
멤버변수 MenuItem mSearchItem 선언
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
// TODO Auto-generated method stub
//Used to put dark icons on light action bar
//boolean isLight = SampleList.THEME == R.style.Theme_Sherlock_Light;
//Create the search view
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mSearchView = new SearchView(getSupportActionBar().getThemedContext());
mSearchView.setQueryHint("버스 번호 또는 정류장명");
mSearchView.setOnQueryTextListener(queryTextListener);
menu.add("Search")
.setIcon(true ? R.drawable.ic_search_inverse : R.drawable.abs__ic_search)
.setActionView(mSearchView)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
menu.add("Back")
.setIcon(true ? R.drawable.ic_refresh_inverse : R.drawable.ic_refresh)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
mSearchItem = menu.getItem(0);
return true;
}
private OnQueryTextListener queryTextListener = new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
// TODO Auto-generated method stub
mSearchItem.collapseActionView();
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
// TODO Auto-generated method stub
return false;
}
};
'프로그래밍 > 안드로이드' 카테고리의 다른 글
NDK R7 에서 javah 사용 (0) | 2013.01.17 |
---|---|
네이버 맵 + ActionBarSherlock (0) | 2013.01.12 |
안드로이드 예외처리 안된 부분 처리하기 (0) | 2012.11.22 |
ActivityGroup에서 Spinner 에러 (0) | 2012.09.28 |
안드로이드 앱 아이폰 앱으로 변환하기 (0) | 2012.09.18 |