2021.07.23 - [안드로이드] - [안드로이드] 버튼 누르면 효과음(SoundPool) 나오게 하는 방법
2021.07.24 - [안드로이드] - [안드로이드] 간단하게 노래 재생하는 방법 MediaPlayer
이번 시간에는 네이버, 다음, 구글 같은 곳에서 검색하기 위해 글자를 입력하면
자동으로 글자가 완성되는 기능을 안드로이드에서 어떻게 구현할 수있는지 만들어 보겠습니다.
android:completionThreshold="1"
한 글자를 입력하면 자동완성 기능이 실행됩니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<MultiAutoCompleteTextView
android:id="@+id/multi_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:hint="단어를 입력하세요" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:onClick="showInput"
android:text="선택한 단어는?" />
</LinearLayout>
(1) 자동 완성에 쓰일 글자를 배열에 담기
(2) MultiAutoCompleteTextView 설정
(3) 콤마 기준으로 잘라 보여주기
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.MultiAutoCompleteTextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
//자동 완성에 쓰일 글자들
private static final String[] WORD = new String[]{
"Apple", "Air", "Angel", "Boy", "Book", "Bear"
};
private MultiAutoCompleteTextView multiText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
multiText = findViewById(R.id.multi_text);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, WORD);
multiText.setAdapter(adapter);
//콤마처리
multiText.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
public void showInput(View v){
String input = multiText.getText().toString().trim();
// 콤마를 기준으로 자르기
String[] singleInputs = input.split("\\s*,\\s*");
String toastText = "";
for(int i = 0; i < singleInputs.length; i++){
toastText += "Item " + i + ": " + singleInputs[i] + "\n";
}
Toast.makeText(this, toastText, Toast.LENGTH_SHORT).show();
}
}
맘에 드셨다면 공감 부탁드려요문의 댓글 환영합니다. |
[안드로이드] [오류 메시지]Android Gradle plugin requires Java 11 to run 해결방법 (0) | 2021.11.29 |
---|---|
[안드로이드] 텍스트뷰(TextView) 다양하게 꾸며보는 방법 (0) | 2021.07.29 |
[안드로이드] 간단하게 노래 재생하는 방법 MediaPlayer (0) | 2021.07.24 |
[안드로이드] 버튼 누르면 효과음(SoundPool) 나오게 하는 방법 (1) | 2021.07.23 |
[안드로이드] 이미지 리스트 다운로드하는 방법 DownloadManager (0) | 2021.07.13 |
댓글 영역