programing

검색 버튼을 표시하거나 키보드에서 버튼을 입력하도록 edittext를 설정하는 방법은 무엇입니까?

coolbiz 2021. 1. 16. 10:14
반응형

검색 버튼을 표시하거나 키보드에서 버튼을 입력하도록 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"/>

XML 문서

...또는...

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

반응형