2010-05-09 4 views
2

내 안드로이드 응용 프로그램에서 EditText 필드가있을 때마다 활동이 시작되면 바로 깜박이는 커서로 강조 표시됩니다 (though the keyboard doesn't pop up). 이 기능을 어떻게 비활성화 할 수 있습니까?EditText는 기본적으로 선택합니까?

답변

8

EditText와 ListView는 focusable in touch mode입니다. 따라서 아이콘을 두드려서 애플리케이션을 실행하면 (터치 모드로 전환됨) 애플리케이션의 첫 번째 항목에 포커스가 집중 될 수 있습니다. D- 패드 (터치 모드를 벗어남)를 사용하여 애플리케이션에 들어갔다면 첫 번째 버튼, 회 전자, EditText 또는 ListView는 모두 포커스를 얻을 수 있으므로 포커스를 얻습니다.

응용 프로그램이 시작될 때 초점이 맞지 않아도되지만 실제로 the default way of handling focus을 참을 수 없다면 TextView에 초점을 두어 볼 수 있습니다. 초점에있다. 터치 모드에서는 일반적으로 초점을 맞출 수 없으므로 이 requesting focus보다 먼저 필요합니다. 이것은 약간 해키기 때문에, 다른 사람 (포함 된)은 당신이이 길로 내려 가지 않도록주의 할 것이고 the normal behavior을 받아 들일 것을 권장 할 것입니다.

View tv = findViewById(R.id.MyTextView); 
    tv.setFocusableInTouchMode(true); 
    tv.requestFocus(); 

PS : 그것은 당신과 거의 동일과 같이이 other SO question을 체크 아웃 할 수 있습니다.

+0

감사. 그것은 주로 미적인 것입니다. 그것은 다른 요소들로부터 초점을 끌어냅니다. 나는 당신의 제안을 시도 할 것이다. – GuyNoir

0

이 문제를 방지하려면 setFocusable (false)를 호출 할 수 있습니다. 그러나 나중에 포커스가 있어야한다면 어쩌면 나중에 setFocusable (true)을 다시 호출해야 할 것입니다.

+0

나는 여전히 집중력을 발휘하기를 원한다. – GuyNoir

관련 문제