본문 바로가기

Android/Application

Android SearchView

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