Идеальное решение, которое идет дальше к цели
Цель: отключить мигающий курсор, когда EditText
не в фокусе, и включить мигающий курсор, если EditText
находится в фокусе. Ниже также открывается клавиатура при нажатии EditText
и скрывается при нажатии кнопки «Готово» на клавиатуре.
1) Установите в своем XML под вашим EditText
:
android:cursorVisible="false"
2) Установить onClickListener:
iEditText.setOnClickListener(editTextClickListener);
OnClickListener editTextClickListener = new OnClickListener()
{
public void onClick(View v)
{
if (v.getId() == iEditText.getId())
{
iEditText.setCursorVisible(true);
}
}
};
3) затем onCreate
, захватить событие, когда нажато сделано, используя OnEditorActionListener
к вашему EditText
, а затем setCursorVisible(false)
.
//onCreate...
iEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
iEditText.setCursorVisible(false);
if (event != null&& (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
in.hideSoftInputFromWindow(iEditText.getApplicationWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
}
return false;
}
});