webentwicklung-frage-antwort-db.com.de

Wie kann man einstellen, dass edittext die Suchschaltfläche oder die Eingabetaste auf der Tastatur anzeigt

Wie kann man festlegen, dass EditText die Schaltfläche "Suchen" oder die Eingabetaste auf der Tastatur anzeigt? 

48
user790156

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;
    }
});
59
success_anil

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;
    }
});
189
Rahul Sharma
  Android:singleLine="true"
  Android:imeOptions="actionSearch"
15

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 ().

3
Thep TK

Sie können die verfügbare Tastatur ändern, indem Sie den inputType für EditText verwenden.

<EditText Android:inputType="number"/>

XML-Dokumentation

...oder...

editText.setInputType(int);

Code-Dokumentation

0

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" />
0
mehmoodnisar125