onBackPressed() : 보통 뒤로가기 버튼을 누름으로써 앱을 종료하게 되는데, 이 뒤로가기 버튼을 눌렀을 경우 처리할 내용을 정리하는 메소드이다.
onDestroy() : 전체 수명의 끝에서 호출되며, 생성된 스레드를 종결시키거나, 데이터베이스 연결을 닫는 등 모든 리소스를 해제한다.
setCancelable() : 안드로이드 다이얼로그 알림창을 띄울 때 Backkey(뒤로가기) 버튼을 눌러서 뒤로 나가지 못하게 하려고 할때 이 메소드 안에 값으로 false를 설정한다. 디폴트 값은 true이며 뒤로가기 키가 작동이 되므로 다이얼로그 창이 떳을 때 확인버튼을 누르지 않더라도 없앨 수 있다.
xml 란에 보시면 android:completionThreshold="1" 이구문은 자동 완성 기능이 몇글자를 입력했을시 발생시킬지 정하는 부분으로써 "1"로 되있기 때문에 첫글자부터 입력하게 되면 기능이 시작됩니다. android:completionHint="목록에서 클릭하세요." 부분은 Hint라는 부분에서 느낄수 있듯이. 자동 완성 기능의 목록 아래에 표시되는 도움말과 같은 글을 입력할수 있는 구문입니다.
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }
}
static final String[] COUNTRIES = new String[] 구문은 앞서 말씀드린듯이 사용자들이 입력하는 단어들과, 개발자들이 미리 입력해놓은 단어들을 비교해서 관련이 있을경우 자동 완성란의 목록에 나오기 때문에, 이와같이 배열을 만들어서 미리 데이터들을 입력해 놓습니다. (물론 더 좋은 방법들도 많겠죠..)
OnItemClickListener 구문은 제가 자동완성 기능 실행시 해당 단어를 클릭할 경우 재대로 입력을 받아오는지 확인하기 위해 임의로 익명클래스를 만들었고 토스트로 해당 텍스트를 출력시켜보기 위해 만들었습니다. 파라미티 같은 경우에는 AdpaterView<?> parent 는 클릭된 뷰의 부모인 어댑터 뷰, View view는 사용자가 클릭한 뷰, int position은 선택된 뷰의 위치, long id는 선택된 항목이 리스트의 몇번째 위치, 정도로 보시면 될 것 같습니다.
AutoCompleteTextView 구문은 이제 앞서 xml에 생성한 AutoCompleteTextView 를 가져오고, 어댑터와 연결시킵니다. 파라미터를 보시면 android.R.layout.simple_dropdown_item_1line, 은 안드로이드에서 기본적으로 제공하는 드롭다운 형식의 레이아웃을 적용시키구 잇구요. 앞서 만들었던 배열 COUNTRIES 데이터들을 함께 넘겨줍니다. setOnItemClickListener은 앞서 만들었던 토스트를 위한 클릭 리스너를 연결해주는 부분입니다.
1. android:completionHint
setCompletionHint(CharSequence) : Defines the hint displayed in the drop down menu.
특성은 드롭다운 목록 아래에 표시될 도움말
2. android:completionHintView
Defines the hint view displayed in the drop down menu.
3. android:completionThreshold
setThreshold(int) : Defines the number of characters that the user must type before completion suggestions are displayed in a drop down menu.
자동 완성 드롭다운 목록이 언제 표시될 것인지 결정. 기본값은 2 (두 글자부터)
4. android:dropDownAnchor
setDropDownAnchor(int) : View to anchor the auto-complete dropdown to.
5. android:dropDownHeight
setDropDownHeight(int) : Specifies the basic width of the dropdown.
자동 완성 드롭다운 목록 높이
6. android:dropDownHorizontalOffset
Amount of pixels by which the drop down should be offset horizontally.
7. android:dropDownSelector
Selector in a drop down list.
8. android:dropDownVerticalOffset
Amount of pixels by which the drop down should be offset vertically.
9. android:dropDownWidth
setDropDownWidth(int) : Specifies the basic width of the dropdown. 자동 완성 드롭다운 목록 너비