我在 Android 中有一个 Activity
,有两个元素:
EditText
ListView
当我的 Activity
启动时,EditText
立即具有输入焦点(闪烁的光标)。我不希望任何控件在启动时具有输入焦点。我试过了:
EditText.setSelected(false);
EditText.setFocusable(false);
运气不好。如何说服 EditText
在 Activity
启动时不选择自己?
最佳答案
将标签 android:focusableInTouchMode="true"
和 android:focusable="true"
添加到父布局(例如 LinearLayout
或ConstraintLayout
) 如下例所示,将解决问题。
<!-- Dummy item to prevent AutoCompleteTextView from receiving focus -->
<LinearLayout
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px"/>
<!-- :nextFocusUp and :nextFocusLeft have been set to the id of this component
to prevent the dummy from receiving focus again -->
<AutoCompleteTextView android:id="@+id/autotext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:nextFocusUp="@id/autotext"
android:nextFocusLeft="@id/autotext"/>
关于android - 当 Activity 在 Android 中启动时,如何阻止 EditText 获得焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1555109/
相关文章:
android - 如何在Android中将屏幕尺寸作为像素获取
android - 旋转Android上的 Activity 重启
android - 如何使用保存实例状态保存 Activity 状态?
android - Android中的gravity和layout_gravity有什么区别?
android - Eclipse Android 插件中的 "Debug certificate
android - 是否有唯一的 Android 设备 ID?
android - 如何在 Android 的 ListView 中延迟加载图像
android - 如何在 TextView 中水平和垂直居中文本?