こんにちはIMEアクションをオーバーライドして仮想キーボードで検索を表示しようとしています。私のEditText
はアクティビティに配置されたコントロール内にあります。android - IMEを制御すると入力する代わりに検索アクションが表示される
EditText
に設定され、このリスナーを持っているコードでは
<EditText android:id="@+id/txtSearch"
android:textSize="18dp"
android:textColor="@color/main_text_black"
android:layout_width="247dp"
android:layout_height="fill_parent"
android:imeOptions="actionSearch"
android:gravity="center_vertical"
android:singleLine="true"
android:background="@null"
android:layout_alignParentLeft="true"
android:layout_marginLeft="38px" />
::私はEnterキーを押したときに
@Override
public boolean onEditorAction(TextView view, int arg1, KeyEvent arg2) {
if((arg1 == EditorInfo.IME_ACTION_SEARCH) {
for(OnSearchListener listener : _listeners) {
listener.OnSearch(view, getSearchString());
}
}
InputMethodManager imm =
(InputMethodManager)_context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
return false;
}
arg1
常に0
として戻ってくる、である。ここ
ありがとうございます!
私はすでにこれをコントロールから削除してアクティビティに追加しましたが、それでも機能しません。私もsendMessageを試しました。何もない!アンドロイド:imeOptions = "actionSend | flagNoEnterAction" \t \t \t \tアンドロイド:inputType = "textShortMessage | textAutoCorrect | textCapSentences | textMultiLine" そのIMEなどが完全に無効にしたり、どこかの設定でオーバーライドされます。私がしたことは、xmlのオプションを追加して、何が表示されているかを試してみることでした。私はいつも同じ窓を得る。仮想キーボードはまったく変更されません。 – dropsOfJupiter