android - 当 Activity 在 Android 中启动时,如何阻止 EditText

我在 Android 中有一个 Activity,有两个元素:

  1. EditText
  2. ListView

当我的 Activity 启动时,EditText 立即具有输入焦点(闪烁的光标)。我不希望任何控件在启动时具有输入焦点。我试过了:

EditText.setSelected(false);
EditText.setFocusable(false);

运气不好。如何说服 EditTextActivity 启动时不选择自己?

最佳答案

将标签 android:focusableInTouchMode="true"android:focusable="true" 添加到父布局(例如 LinearLayoutConstraintLayout) 如下例所示,将解决问题。

<!-- 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 中水平和垂直居中文本?

android - Android 上的 'Context' 是什么?

android - match_parent 和 fill_parent 有什么区别?