Android SearchView
액션바에 있는 검색 버튼을 사용해 보았을 것이다. 구현해보자.
뷰 생성
menu.xml에 다음과 같이 메뉴 아이템을 등록하면 된다.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_search"
android:title="@string/abc_search_hint"
android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
yourapp:showAsAction="ifRoom|collapseActionView"
yourapp:actionViewClass="android.support.v7.widget.SearchView" />
</menu>
왜인지는 모르겠지만 안드로이드에서 기본 생성한 menu.xml은 item을 넣어도 액션뷰로 인식이 안된다. 복붙하자.
뷰 사용
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
System.out.println(s);
return false;
}
});
return true;
setOnQueryTextListener를 사용하자
onQueryTextSubmit 문자열 입력을 완료했을 때 문자열 반환
onQueryTextChange 문자열이 변할 때마다 바로바로 문자열 반환
'Android > Application' 카테고리의 다른 글
프레그먼트에서 메뉴 사용하기 (0) | 2015.09.24 |
---|---|
ViewPager 구현하기 (1) | 2015.09.24 |
안드로이드 상태바 색상 변경 (0) | 2015.09.23 |
바코드, QR코드 생성 (0) | 2015.09.22 |
Android DPI (0) | 2015.09.22 |