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"/>
および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;
}
});
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>
-アクティビティまたはフラグメントで、次のコードを使用して、提案を提供するアダプターを指定します。
// 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に割り当てます。
EditText
のinputTypeを使用して、使用可能なキーボードを変更できます。
<EditText Android:inputType="number"/>
...または...
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" />