티스토리 뷰
에디트텍스트를 갖고있는 부모 뷰에
android:focusable="true"
android:focusableInTouchMode="true"
속성을 추가한 뒤
특정 이벤트에
view.requestFocus();
을 주면 에디트텍스트의 포커스를 뻇을 수 있다,
자매품으로
editText.setCursorVisible(false);
으로 안보이게 처리 할 수 있다.
키보드 올라왔을 때 백버튼 감지하기.
아래와 같은 클래스를 추가해준 뒤 사용하여야 하는 에디트텍스트를 아래 클래스로 만들어준다.
public class BackPressEditText extends android.support.v7.widget.AppCompatEditText {
private OnBackPressListener mListener;
public BackPressEditText(Context context)
{
super(context);
}
public BackPressEditText(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public BackPressEditText(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && mListener != null) {
mListener.onBackPress(keyCode);
}
return super.onKeyPreIme(keyCode, event);
}
public void setOnBackPressListener(OnBackPressListener listener) {
mListener = listener;
}
public interface OnBackPressListener {
public void onBackPress(int keyCode);
}
}
그런 다음 백버튼을 감지 할 곳에서
editText.setOnBackPressListener(new BackPressEditText.OnBackPressListener() {
@Override
public void onBackPress(int keyCode) {
// editText.setCursorVisible(false);
view.requestFocus();
}
});
이 코드를 통해 감지하도록 한다.
위 기능을 구현할 때
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
코드를 사용하여 키보드도 함께 내려주는 것이 좋다.
----------
키보드 내에 존재하는 확인, 완료 버튼 감지는
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == KeyEvent.KEYCODE_ENDCALL) {
// editText.setCursorVisible(false);
view.requestFocus();
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
}
return false;
}
});
이 코드로 감지한다.
'android' 카테고리의 다른 글
이미지 텍스트뷰 안에 텍스트 처럼 보여주기.. (0) | 2019.05.21 |
---|---|
안드로이드 git, local.properties 제외시키는 방법. gitignore 사용법 (0) | 2019.05.13 |
안드로이드 키보드 여부 실시간으로 확인하기, (0) | 2019.05.07 |
안드로이드 재귀호출을 이용한 1초마다 반복하기. for문 딜레이 (0) | 2019.04.17 |
자바 화폐 콤마 찍기, 안드로이드 화폐 콤마 찍기, 국가 별 화폐 기호 구하기 (0) | 2019.04.17 |
- Total
- Today
- Yesterday
- React Native
- ubunut android
- adb 환경변수
- text 부분 색 칠하기
- ubunut 설치 link
- 안드로이드
- not found adb
- mac android
- 함수형 코드
- not working adb
- spannableText
- 차번호 정규식
- 구글 맵 선그리기
- insert
- 자바
- mongo db
- not starting .bash_profile
- https://hwan-shell.tistory.com/244
- 차번호 정규표현식
- https://medium.com/@limgyumin/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%9D%98-apply-with-let-also-run-%EC%9D%80-%EC%96%B8%EC%A0%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B0%80-4a517292df29
- 클래스형 코드
- Android
- 구글 맵 경로 그리기
- nosql
- react native state
- 명령어
- 귀찮아;;
- 데이터베이스
- rn
- MongoDB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |