Как установить EditText
, чтобы показать кнопку поиска или ввести кнопку на клавиатуре?
Как установить edittext, чтобы показать кнопку поиска или ввести кнопку на клавиатуре?
Ответ 1
Используйте код для редактирования атрибута 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;
}
});
Ответ 2
В вашем макете установите метод ввода для опции поиска
<EditText
android:imeOptions="actionSearch"
android:inputType="text"/>
и в 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;
}
});
Ответ 3
android:singleLine="true"
android:imeOptions="actionSearch"
Ответ 4
В следующей процедуре описано, как настроить AutoCompleteTextView, который предоставляет предложения из массива, используя ArrayAdapter:
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 к TextView, который существует в макете simple_list_item_1 (это макет, предоставляемый Android, который обеспечивает стандартный внешний вид для текста в списке). Затем назначьте адаптер AutoCompleteTextView, вызвав setAdapter().
Ответ 5
Вы можете изменить доступную клавиатуру, используя inputType для EditText
.
<EditText android:inputType="number"/>
... или...
editText.setInputType(int);
Ответ 6
Сделайте ваш текст редактирования таким.
<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" />