web-dev-qa-db-ja.com

検索ボタンを表示するように編集テキストを設定する方法、またはキーボードのボタンを入力するには?

EditTextを設定して、検索ボタンを表示したり、キーボードのボタンを入力したりするにはどうすればよいですか?

52
user790156

コードを使用して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;
    }
});
75
success_anil

レイアウトで、入力メソッドを検索オプションに設定します

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

次の手順では、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>

-アクティビティまたはフラグメントで、次のコードを使用して、提案を提供するアダプターを指定します。

// 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に割り当てます。

3
Thep TK

EditTextのinputTypeを使用して、使用可能なキーボードを変更できます。

<EditText Android:inputType="number"/>

XMLドキュメント

...または...

editText.setInputType(int);

コードのドキュメント

0

このように編集テキストを作成します。

    <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