私は投稿から回答を読んでいますHow to set cursor position in EditText?問題の原因かもしれないEditTextに特定の問題があります。私のXMLレイアウトでは、 "edit"というEditTextを定義しています。その編集番号はです。inputType = noneです。アンドロイドデベロッパードキュメントによると、inputType = noneの場合、テキストは編集できません。理由は "none"が原因であり、これは私がAndroidの一般的なキーボードが私のUser-Interface上にポップアップするのを防ぐ方法です。これはうまくいきます。 私はこのようなことをしたい:ユーザが入力した:5 + sin()、今カーソルのeditTextカーソル位置は)記号の直後でなければならないが、inputType = noneであるのでカーソルは表示されない。私がする必要があるのは、()記号の間に次のテキスト入力が置かれる位置を移動することです。何が起こるかは、次のテキスト入力が)記号の直後に来ることです。 次のテキスト入力が4ならば、5 + sin()4、私はこれを望んでいません。私はむしろ次のようなことをしています:5 + sin(4)Androidアプリケーションの編集不可能なEditTextにカーソルを置く
私はボタン「()」を持つカスタムメイドのキーボードを使用しています。ここで私は任意の成功なしにしようとしたものです:
//once the user presses the "()" button:
Selection.setSelection(edit.getText(),edit.getText().length() - 2);
私が試してみました別の方法:
//once the user presses the "()" button:
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
edit.setSelection(edit.getText().length() - 2);
edit.setInputType(InputType.TYPE_NULL);
次の2つの方法のどちらもが私のために働いています。また、xmlファイルでeditTextのinputTypeを "none"以外のものに設定しようとしました。しかし、アンドロイドのキーボードが私のカスタムメイドのキーボードの上にポップアップ。
任意の考えやアイデアは