EditText を作成し、EditText を長押ししたときに仮想キーボードのポップアップを回避したい。ただし、テキスト内の単語を選択することはできます。
textView のように見える EditText が必要で(既に完了しています)、検索のために editText 内の単語を選択できます。ただし、仮想キーボードとコンテキストメニューは必要ありません(またはそのメニュー項目を変更しますが、重要ではありません)。私はそれを行うことができますか?
EditText を作成し、EditText を長押ししたときに仮想キーボードのポップアップを回避したい。ただし、テキスト内の単語を選択することはできます。
textView のように見える EditText が必要で(既に完了しています)、検索のために editText 内の単語を選択できます。ただし、仮想キーボードとコンテキストメニューは必要ありません(またはそのメニュー項目を変更しますが、重要ではありません)。私はそれを行うことができますか?
EditText
を拡張してからオーバーライドする独自の EditText を作成しonCheckIsTextEditor()
ます。
public class MyEditText extends EditText {
public MyEditText (Context context)
{
super(context);
}
public MyEditText (Context context, AttributeSet attrs)
{
super(context, attrs);
}
public MyEditText (Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
@Override
public boolean onCheckIsTextEditor()
{
return false;
}
}
以下のコードをコードに設定できEditText
ます。この方法では、Android でソフト キーボードがポップアップしません。
mEditText.setInputType(InputType.TYPE_NULL);
mEditText.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View arg0) {
return true;
}
});
それを試してみてください -
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);