ターゲティングAndroid 2.2
次の質問に対する回答を読みました。
私は提案について次のバリエーションを試しました。
setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_FILTER);
setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_FILTER | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
setInputType(InputType.TYPE_TEXT_VARIATION_NORMAL | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
setInputType(InputType.TYPE_TEXT_VARIATION_NORMAL | InputType.TYPE_TEXT_VARIATION_FILTER);
setInputType(InputType.TYPE_TEXT_VARIATION_NORMAL | InputType.TYPE_TEXT_VARIATION_FILTER | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
これらはすべて、私がテストしてきたほとんどのデバイス(Droid X、Droid 2、Thunderbolt、Incredible)で機能しますが、エミュレーターと少なくとも1つのデバイス(Samsung GT i5500)では機能しません。
他の方法はありますか プログラムで エミュレータと特定のデバイスが認識して尊重する方法で、EditTextのオートコンプリート/オートサジェストを無効にしますか?
Vodafone 845(2.1)、huawei 8800(2.2)デバイスの場合、textVisiblePasswordはWordの予測を妨げるようです。
vendorId.setInputType(Android.text.InputType.TYPE_CLASS_TEXT | Android.text.InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
または
Android:inputType = "textVisiblePassword"
レイアウトXMLで、EditText
に次の属性を追加します。
Android:inputType="text|textNoSuggestions"
これも上記のアプローチも機能しない場合、これはほぼ確実にエミュレーターと他のデバイスの問題であり、メーカーに直接連絡する必要があります。
参照: Android:inputType (EditText
はTextView
のサブクラスであるため、この属性はEditTexts
でも機能します)。
上記のすべてを試してみましたが、上記のどれも本当に私を助けませんでした。私は利用可能なInputTypesを検索しましたが、たまたまTYPE_TEXT_FLAG_AUTO_COMPLETE:
mEditText.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);
その説明から:
これは一般に、インプットメソッドが候補自体を表示すべきではないことを意味しますが、エディターがInputMethodSession.displayCompletions()から独自の補完/候補を提供することを期待できます。
完了セットを指定していないため、結果としてnot getting any auto-suggestions。
PS。フラグInputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
上記のコマンドで述べたように、このトリックも行いますが、disablesキーボードの言語を切り替えます。
個人的に、このコードは私を助けます:
autoCompleteTextView.setAdapter(null);
autoCompleteTextView.setText(address);
autoCompleteTextView.setAdapter(adapter);
テキストを設定するときに提案を無効にして、アダプターを削除し、setText
を呼び出した後、それを返します。
そのため、提案を無効にする場合は、次を使用します。
autoCompleteTextView.setAdapter(null);
EdittextにAndroid:inputType="textNoSuggestions|textVisiblePassword"
を使用すると、問題が修正されます。
クラスAutoCompleteTextViewを使用して、何も含まないアダプターを設定できます AutoCompleteTextView Class Reference
例
public class CountriesActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.countries);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
Android.R.layout.simple_dropdown_item_1line, COUNTRIES);
AutoCompleteTextView textView = (AutoCompleteTextView)
findViewById(R.id.countries_list);
textView.setAdapter(adapter);
}
private static final String[] COUNTRIES = new String[] {""};
}
私はエミュレーターで同じ問題と戦っていました。テスト中に、表示されているのは通常のオートコンプリートではなく、特別なアジア文字プレビューであることを認識しました(おそらく、1つのアジア文字を生成するには複数のキーが必要だからです)。そこで、言語を英語に設定することでこれを解決しました。私が見ていたのは、「言語とキーボード」の「日本語IME」設定の下にリストされた「キープレビュー」オプションだったと思います。
キーボードの操作と言語サポートを詳しく調べることなく、個々のアプリ内でこれを無効にすることはかなり難しいと思います。
EditTextのsetThreshold()
メソッドを使用するだけです。予測を表示したくない場合は、しきい値を100に設定します。予測の表示を再度有効にするには、必要に応じて1または2などの小さな整数に戻します。
また、以下を使用して、編集テキストの自動提案を無効にすることもできます。
<EditText>
Android:inputType="textNoSuggestions|textVisiblePassword"
</EditText>
これは私のために働いた。