アイテムをクリックすると、AutoComplete ドロップダウンに値を設定する ArrayAdapter が、横向きで 5 を超える位置に対して「-1」を返します。アプリケーションを縦向きで実行している場合、アイテムをクリックすると正しいインデックスが返されます。以下の 2 つのスクリーン ショットは、アダプターが各方向でデータを取り込む方法を示しています。
編集:電話を横向きにするのではなく、ドロップダウンリストを強制的に使用する方法はありますか?
これの原因は何かわかりませんか?
アイテムをクリックすると、AutoComplete ドロップダウンに値を設定する ArrayAdapter が、横向きで 5 を超える位置に対して「-1」を返します。アプリケーションを縦向きで実行している場合、アイテムをクリックすると正しいインデックスが返されます。以下の 2 つのスクリーン ショットは、アダプターが各方向でデータを取り込む方法を示しています。
編集:電話を横向きにするのではなく、ドロップダウンリストを強制的に使用する方法はありますか?
これの原因は何かわかりませんか?
小さな画面の電話がSamsung Galaxy S IIIと同じことをする場合(配列の6番目の位置を超えて-1のインデックスを返す)、それでもクラッシュが発生するため、理想的ではありません。 .
if (!((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL)) {
mQuery.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
} else {
mQuery.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
}
HTC Wildfire のドロップダウンは Samsung と同じですが、インデックス 5 を超える位置を返します。
S III が動作しない理由は引き続き調査しますが、OS レベルであると推測しています。