Wie kann man festlegen, dass EditText
die Schaltfläche "Suchen" oder die Eingabetaste auf der Tastatur anzeigt?
Verwenden Sie den Code, um das EditText-Attribut zu bearbeiten
<EditText Android:imeOptions="actionSearch" />
Dann machen Sie dies in Ihrem Java-Code:
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;
}
});
Legen Sie in Ihrem Layout als Eingabemethode die Option Suchen fest
<EditText
Android:imeOptions="actionSearch"
Android:inputType="text"/>
und in Java-Code verwenden
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"
Im folgenden Verfahren wird beschrieben, wie Sie eine AutoCompleteTextView einrichten, die mithilfe eines ArrayAdapter Vorschläge aus einem Array enthält.
1 - Fügen Sie Ihrem Layout die AutoCompleteTextView hinzu. Hier ist ein Layout nur mit dem Textfeld:
<?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 - Definiert das Array, das alle Textvorschläge enthält. Beispiel: Ein Array von Ländernamen, das in einer XML-Ressourcendatei definiert ist (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 - Verwenden Sie in Ihrer Aktivität oder Ihrem Fragment den folgenden Code, um den Adapter anzugeben, der die Vorschläge liefert:
// 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);
Hier wird ein neuer ArrayAdapter initialisiert, um jedes Element im String-Array COUNTRIES an eine TextView zu binden, die im Layout simple_list_item_1 vorhanden ist (dies ist ein von Android bereitgestelltes Layout, das eine Standarddarstellung für Text in einer Liste bereitstellt) den Adapter an die AutoCompleteTextView durch Aufrufen von setAdapter ().
Sie können die verfügbare Tastatur ändern, indem Sie den inputType für EditText
verwenden.
<EditText Android:inputType="number"/>
...oder...
editText.setInputType(int);
Machen Sie Ihren Text so.
<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" />