일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 레트로핏
- 리사이클러뷰 체크박스
- 클린아키텍쳐
- 키스토어
- 빗버킷 #bitbucket #authorization failed #깃
- retrofit2
- #리사이클러뷰
- #ContentProvider #App DataShare
- 안드로이드 아키텍쳐
- retrofi
- 메모리릭
- zeplin
- 제플린
- 안드로이드 익명클래스
- MVVM
- 사용법
- #안드로이드 개발자 #안드로이드 신입 #개발자 이직 #안드로이드 면접 #신입 개발자
- retrofit
- 안드로이드 메모리릭
- 안드로이드
- #SMS API #안드로이드 SMS #SMS Retriever
- #리사이클러뷰 어댑터
- #android #안드로이드 #glide #gif #이미지다운로드
- #안드로이드
- 구글맵안돼요
- 안드로이드해상도
Archives
- Today
- Total
땀이 삐질삐질 나는 개발 일기
Android EditText 상황에 따라 키보드 컨트롤 본문
안녕하세요. 삐질삐질 개발하는 개발자 삐질입니다.
오늘은 EditText 의 Focus 옵션을 따로 조작하지 않고 ,InputType으로만 키보드를 제어하는 팁에 대해 알아보도록 하겠습니다.
기존의 흔히들 알고있는 컨트롤 방법은
imm.hideSoftInputFromWindow(binding.etRec.getWindowToken(),0);
imm.showSoftInput(binding.etRec,0);
위와 같은 방법일 겁니다. 하지만 이 방법은 EditText의 클릭리스너 내부에 선언하게 되면 작동하지 않는 메서드입니다.
- 클릭했을 때, 포커스에 따라 내부인 KeyBoard Show / Hide가 아닌, 코드로 원하는 시점에만 Show/Hide( 클릭 리스너 밖에서는 위와 같은 코드가 작동 함 ) -
이와 같은 상황일떄 , ClickListener 내부에 위와 같은 코드들을 선언하면 Keyboard가 원하는 대로 조작되지 않음을 알수 있습니다.
이때는
상황에서 따라 아래와 같이 , InputType으로 컨트롤해주시면 키보드 조작 Method가 유효하게 됩니다.
@Override
public void onResume() {
super.onResume();
binding.etRec.setInputType(0);
GetContactsTask getContactsTask = new GetContactsTask();
getContactsTask.execute();
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.etRec:
viewModel.liveDataShowDialog.setValue(true);
viewModel.directInputNumber.setValue(false);
imm.hideSoftInputFromWindow(binding.etRec.getWindowToken(),0);
break;
case R.id.directBtn:
viewModel.directInputNumber.setValue(true);
viewModel.liveDataShowDialog.setValue(false);
binding.etRec.setInputType(1);
imm.showSoftInput(binding.etRec,0);
break;
'개발 Tip' 카테고리의 다른 글
ConstraintLayout 원형 배치 (0) | 2019.06.05 |
---|---|
Recyclerview Databinding 코드 예제 (0) | 2019.06.04 |
Android,Java의 this는 언제, 어떻게 쓰일까? (0) | 2019.05.21 |
[레트로핏]Retrofit2 @Field 와 @Body 차이 Feat.DTO (0) | 2019.05.17 |
BaseActivity로 액티비티, 프래그먼트 전환 메서드 재사용 하기 (0) | 2019.05.17 |
Comments