일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 안드로이드2.0
- 안드로이드 바탕화면
- 스카이 안드로이드폰 시리우스
- 스마트폰 배경화면
- 아이폰 바탕화면
- 안드로이드
- 안드로이드 개발 2.0
- 아이폰 배경화면
- 인기있는 블로그 만들기
- objective-c
- 안드로이드개발
- MapView
- 안드로이드 개발 강좌
- 하루한마디영어
- 안드로이드 배경화면
- 스카이 안드로이드폰 시리우스 K양 동영상
- 안드로이드2.0개발
- sky 시리우스폰
- 영어
- Form Stuff
- 구글 안드로이드
- 안드로이드폰
- 구글안드로이드
- 안드로이드 개발 2.0 강좌
- SKY 시리우스
- 하루 한마디 영어
- 안드로이드 개발
- android
- 구글 안드로이드 개발
- 안드로이드 2.0 개발
- Today
- 24
- Total
- 521,209
moozi
자동완성텍스트뷰( AutoCompleteTextView ) 구현하기 본문
자동완성기능은 검색할 때 검색키워드를 일부만 입력해도( 예를 들면 android 를 검색시 a 만 먼저입력 ) 입력한 문자로 시작되는 단어나 입력한 문자가 포함된 단어들을 쭉 나열해서 보여주는 것을 말합니다.
네이버나 다음과 같은 검색사이트에서 검색할 때 많이 경험해 본 기능일 것입니다.
먼저 실행 결과를 잠시 보겠습니다.
처음 실행하면 위와 같습니다. 텍스트뷰에 ko 라고 입력하면 다음과 같이 됩니다.
ko가 포함된 나라 이름들이 검색되는 것을 볼 수 있습니다.
그럼, 안드로이드 개발자 사이트의 내용을 기준으로 살펴보도록하겠습니다.
1. 다음과 같이 이클립스에서 프로젝트를 생성합니다.
2. 왼쪽 프로젝트탐색기에서 res -> layout -> main.xml 을 열어 다음코드를 덮어씁니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Country" />
<AutoCompleteTextView android:id="@+id/edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
3. 왼쪽 프로젝트 탐색기에서 src -> my.HelloAutoComplete -> HelloAutoComplete.java 파일을 열어서 다음코드를 덮어씁니다.
package my.HelloAutoComplete;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class HelloAutoComplete extends Activity {
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.edit);
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_dropdown_item_1line, COUNTRIES);
textView.setAdapter(adapter);
}
static final String[] COUNTRIES = new String[] {
"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
"Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
"Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
"Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
"Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
"Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
"British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
"Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
"Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
"Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
"Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic",
"Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic",
"East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea",
"Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland",
"Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia",
"French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar",
"Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau",
"Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary",
"Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica",
"Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos",
"Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
"Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands",
"Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova",
"Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia",
"Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand",
"Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas",
"Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru",
"Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar",
"Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena",
"Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon",
"Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal",
"Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands",
"Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea",
"Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden",
"Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas",
"The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey",
"Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda",
"Ukraine", "United Arab Emirates", "United Kingdom",
"United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan",
"Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara",
"Yemen", "Yugoslavia", "Zambia", "Zimbabwe"
};
}
위 코드를 보면 COUNTRIES 라는 배열에 나라 이름들을 모두 저장해놓고 AutoCompleteTextView 에서 이 배열을 사용하고 있습니다.
4. Ctrl + F11 로 실행합니다.
[ 실행결과 ]
'안드로이드개발강좌' 카테고리의 다른 글
GridView 구현하기 (8) | 2010.01.13 |
---|---|
ListView 구현하기 (8) | 2010.01.13 |
자동완성텍스트뷰( AutoCompleteTextView ) 구현하기 (16) | 2010.01.09 |
스피너(Spinner) 구현하기 (9) | 2010.01.08 |
[ 안드로이드 개발 2.0 ] 폼 구성요소(Form Stuff) 5 - 토글버튼(ToggleButton) (6) | 2010.01.08 |
[ 안드로이드 개발 2.0 ] 폼 구성요소( Form Stuff )4 - RadioButton (1) | 2010.01.07 |
-
융중나그네 2010.01.13 16:24 좋은글 잘 보고있습니다.
안드로이드 개발에 대해서 처음으로 공부하려 하는데
님의 글들이 참 도움이 되네요. 쉽게 설명해주셔서 따라해보기도 좋고~^^
앞으로도 좋은글 많이 부탁드릴께요~ -
moozi 2010.01.13 16:31 신고 격려해주셔서 감사합니다.
더 열심히 노력하겠습니다. ^^ -
열시미 배우는 사람 2010.01.14 16:50 도움이 마니 되고 있습니다...감사 합니다.
-
초보자 2010.02.04 10:11 스피너 구하기 강좌에서도 그렇고 이번 강좌에서도 같은 현상이 나오는데요...
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_dropdown_item_1line, COUNTRIES);
이부분에서 전구모양에 느낌표 표시가 되던데 뭔가 잘못된건가요? -
moozi 2010.02.04 12:06 신고 이클립스에서 전구모양이 나오는것은 error는 아니고 warning입니다. 실행하면 정상적으로 실행이 됩니다.
다만 말씀하신 부분에서 warning이 나온것은 ArrayAdapter를 사용할 때 Genreic 형식으로 사용하라는 권고입니다.
^^ -
야야야아야 2010.02.08 12:28 신고 정말감사하게 쓰고있습니다!~
근데 하나의 클래스에서 두개이상의 자동스크롤완성기능은 안되나요??
해보니깐 제대로 안되는듯싶은데 뭐가문제일까요??
예를 들어서 1900년도 때를 다 자동스크롤해놨는데
년도만 했을때는 잘되는데
년월일 이렇게 3가지를 같이 해서하면
안됩니다..도움주세요ㅠㅠ -
moozi 2010.02.09 00:01 신고 특별히 안될것 같진 않습니다만.... 제가 한번 테스트해보고 다시 답변드릴께요
-
야야야아야 2010.02.09 11:50 신고 감사합니다!~빠른답변기다릴꼐요~~^^
-
moozi 2010.02.10 13:33 신고 야야야아야 님 테스트해보니까 잘 됩니다. 두번째 AutoCompleteTextView 가 안보이는 문제라면
main.xml 에서 LinearLayout 의 orientation을 "vertical"로 바꿔서 해보세요.
잘 해결하시길 바랄께요 -
안초 2010.02.22 23:59 좋은 강좌 감사합니다.
한글 자동 완성은 어떻게 해야 하나요? -
안초 2010.02.24 12:23 한글자판은 깔았는데요
자동완성기능이 안되서리....
한글 자동완성 되게 할려면 어떻게 해야 할 지 몰라서... -
moozi 2010.02.24 19:53 신고 아 그러세요? 죄송해요 저는 한글자판을 설치안해서 아직 테스트를 못해봤습니다.
한글 자동완성기능이 될줄 알았는데 안되나 보군요...
^^;;; -
moozi 2010.02.23 12:27 신고 감사합니다..
우선 안드로이드 에뮬레이터에서 현재 한글 자판이 지원되지 않고 있습니다.
그래서 개발자분들중에 한글자판 app을 만드신 분들이 계십니다.
다음 글을 참고 하세요...
http://www.androidpub.com/keyboard/13672 -
seso 2012.02.17 16:54 좋은 글 감사합니다~ 잘 보고 갑니다^^
-
moozi 2012.02.17 23:50 신고 seso님 제 글이 조금이나마 도움이 되셨다니 기쁩니다. ^^
-
ugif 2012.07.12 19:28 혹시 안드로이드에 디폴트로 있는 구글 검색기록을 가져올 수 있는 방법도 있나요?