자체 입력키보드를 만들기 위하여
editText1에 입력할 때 아래의 방법으로 소프트 키보드를 안뜨게 막아놓았어요.
editText1.setInputType(0);
그런데 커서까지 사라져버렸네요.
editText1를 터치하면 주황색으로 변하긴 하지만 커서가 안보여요.
커서가 깜빡깜빡 보이게 하려면 어떻게 해야 되나요?
저는 이것밖에 없는데 ....
<activity
android:name="ExamActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden"></activity>
이렇게 액티비티 안에 넣으신거 맞나요?
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
네. ㅠ.ㅜ 저는 왜 안될가요?
아~ 저기 "stateHidden"을 해봐서 안되니 "stateAlwaysHidden" 으로 고쳐본 소스에요.
물론 이렇게 해도 안되긴 마찬가지였어요.
아 제가 질문을 잘못이해했었네요
소스에
editText1.setInputType(0); 이거 그대로 추가해 보세요
메니페스트 냅두시고요 ^^;;
누르면 소프트키 뜨는 건줄 알았어요 죄송 ^^;;
엇... 근데 저는
editText1.setInputType(0);
소스에 이것만 추가해도 커서가 깜빡깜빡하는데요??
메니페스트 추가 안해도요 .... ㅜ.ㅜ
옹알몬님과 제가 지금 서로 엇갈린 생각을 하고 있었던거 같네요.
옹알몬님께서 말씀하신 내용은 액티비티를 처음 시작할 때 안뜨게 하는방법이였고
제가 원하는건 해당 editText 를 클릭할 때마다 소프트키보드를 숨기고 커서는 유지하는 것였어요.
헉... 그러신가요?
그럼 도대체 제가 무엇을 어떻게 잘못했을가요?
아궁~ 정말 골치아프네요.
암튼 정말 감사합니다.
실력부족으로 고생을 하고 있네요.
해결이 되면 글 올리겠습니다.
수고하세용~
마지막으로 한가지만 더 말씀드릴게요
클릭할때마다면 클릭했을 때
editText.setCursorVisible(true) 를 주면 어떨까....해서요
해보셨을지도 모르지만 혹시 몰라서 ^^; 수고하세용
앗! 궁금한게 있는데요.
혹시 단말기를 어떤 타입을 쓰시나요?
저는 갤럭시 S2 HD LTE로 테스트중인데요.
이것때문에 서로 다르게 나오는게 아닌지 해서요.
테스트용으로 모토로라 디파이 사용하는데 이걸로 되는데
혹시 몰라서 제가 사용하는 갤럭시 노트로하니까 저도 커서가 안뜨네요
기종마다 다른가봐요 ....ㅠ.ㅠ
일단은 아래 방법으로 커서를 생성 하였는데요.
OnCreate() 함수와 editText1의 클릭 이벤트내 두곳에 모두 아래와 같이 코딩을 했어요.
InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(editText1.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
이렇게 하니 키보드는 사라지고 커서는 유지가 되는데요.
그런데 한가지 문제점이 있네요.
제가 editText를 여러개를 사용해야 하는데 현재 editText1에서 다른 editText2로 넘어갔다가 다시 editText1로 돌아오면
키보드가 또다시 떠요.
포커스를 억지로 줘봐도 여전히 키보드가 뜨네요.
또다시 고민에 빠졌어요. ㅠ.ㅜ




저는 setInputType(0) 이런거 안해주고 Manifest에 해당 액티비티 안에
android:windowSoftInputMode="stateHidden"
이걸 추가했더니 그렇게 되더라구요