검색 버튼을 표시하거나 키보드에서 버튼을 입력하도록 edittext를 설정하는 방법은 무엇입니까?
EditText
검색 버튼을 표시하거나 키보드에 버튼을 입력 하도록 설정하는 방법은 무엇입니까?
코드를 사용하여 EditText 속성 편집
<EditText android:imeOptions="actionSearch" />
그런 다음 Java 코드에서 다음을 수행하십시오.
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
performSearch();
return true;
}
return false;
}
});
레이아웃에서 입력 방법을 검색 옵션으로 설정합니다.
<EditText
android:imeOptions="actionSearch"
android:inputType="text"/>
그리고 자바 코드 사용
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
performSearch();
return true;
}
return false;
}
});
android:singleLine="true"
android:imeOptions="actionSearch"
다음 절차에서는 ArrayAdapter를 사용하여 배열에서 제안을 제공하는 AutoCompleteTextView를 설정하는 방법을 설명합니다.
1- 레이아웃에 AutoCompleteTextView를 추가합니다. 다음은 텍스트 필드 만있는 레이아웃입니다.
<?xml version="1.0" encoding="utf-8"?>
<AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/autocomplete_country"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
2- 모든 텍스트 제안을 포함하는 배열을 정의합니다. 예를 들어 다음은 XML 리소스 파일 (res / values / strings.xml)에 정의 된 국가 이름 배열입니다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="countries_array">
<item>Afghanistan</item>
<item>Albania</item>
<item>Algeria</item>
<item>American Samoa</item>
<item>Andorra</item>
<item>Angola</item>
<item>Anguilla</item>
<item>Antarctica</item>
...
</string-array>
</resources>
3- 활동 또는 조각에서 다음 코드를 사용하여 제안을 제공하는 어댑터를 지정합니다.
// Get a reference to the AutoCompleteTextView in the layout
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
// Get the string array
String[] countries = getResources().getStringArray(R.array.countries_array);
// Create the adapter and set it to the AutoCompleteTextView
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries);
textView.setAdapter(adapter);
여기에서 새 ArrayAdapter가 초기화되어 COUNTRIES 문자열 배열의 각 항목을 simple_list_item_1 레이아웃에있는 TextView에 바인딩합니다 (목록의 텍스트에 대한 표준 모양을 제공하는 Android에서 제공하는 레이아웃). 그런 다음 setAdapter ()를 호출하여 AutoCompleteTextView에 어댑터를 할당합니다.
키보드에 검색 아이콘을 표시하기 위해이 두 필드를 설정합니다.
android:imeOptions="actionSearch"
android:imeActionLabel="@string/search"
또한 키보드 검색 버튼 클릭에 대한 작업을 수행해야하는 경우 다음 코드를 추가해야합니다.
etSearch.setOnEditorActionListener((v, actionId, event) -> {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
search(); // you can do anything
return true;
}
return false;
});
의 inputType을 사용하여 사용 가능한 키보드를 변경할 수 있습니다 EditText
.
<EditText android:inputType="number"/>
...또는...
editText.setInputType(int);
이렇게 편집 텍스트를 만드십시오.
<EditText
android:id="@+id/s_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000"
android:textSize="15dp"
android:imeOptions="actionSearch"
android:inputType="text"
android:hint="Enter search" />
ReferenceURL : https://stackoverflow.com/questions/6529485/how-to-set-edittext-to-show-search-button-or-enter-button-on-keyboard
'programing' 카테고리의 다른 글
Java에서 임의의 문자를 생성하는 기능이 있습니까? (0) | 2021.01.16 |
---|---|
더 나은 점 : DataSet 또는 DataReader? (0) | 2021.01.16 |
'for'루프에서 1 씩 증가 할 때 포맷팅 뒤에 기술적 인 이유는 무엇입니까? (0) | 2021.01.16 |
Java 정수를 16 진 정수로 변환 (0) | 2021.01.16 |
모호성에 대한 경고를 제거하는 방법은 무엇입니까? (0) | 2021.01.15 |