每当我在我的Android应用程序中有一个EditText字段时,一旦活动开始(though the keyboard doesn't pop up
),它就会以闪烁的光标突出显示以进行输入。如何禁用此功能?
答案 0 :(得分:9)
EditText和ListView为focusable in touch mode,因此当您通过点击其图标启动应用程序(使您进入触摸模式)时,应用程序中的第一个可能会获得焦点。如果您使用D-pad进入应用程序(让您退出触摸模式),第一个Button,Spinner,EditText或ListView将获得焦点,因为它们都是可聚焦的。
当你的应用程序启动时,我不会太忙于关注视图,但如果你真的无法忍受the default way of handling focus,你可以尝试将焦点放在TextView上,因为它看起来不像它是焦点时的不同。请注意,它通常无法在触控模式下对焦,因此您需要在enable it之前requesting focus。由于这有点hacky,其他人(包括我自己)会提醒你不要走这条路,并可能鼓励你接受the normal behavior。
View tv = findViewById(R.id.MyTextView);
tv.setFocusableInTouchMode(true);
tv.requestFocus();
PS:您可能还想查看此other SO question,因为它几乎与您的相同。
答案 1 :(得分:0)
你可以调用setFocusable(false)来避免这种情况。但如果它应该在以后成为焦点,那么也许你必须稍后再次调用setFocusable(true)。