gpt4 book ai didi

安卓 : clear focus on edittext when activity starts

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:47:33 26 4
gpt4 key购买 nike

我的应用程序中有一些设置页面。一旦 Activity 直接开始,它就会专注于编辑文本,我使用以下代码来清除焦点。

<RelativeLayout 
android:id="@+id/RequestFocusLayout"
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px"/>

在java代码中

 RelativeLayout focuslayout = (RelativeLayout) findViewById(R.id.RequestFocusLayout);
focuslayout.requestFocus();

上面的代码在 Activity 第一次启动时工作正常,如果相同的 Activity 再次启动,edittext 会自动获得焦点。

谁能帮我解决这个问题。

最佳答案

实际上, Activity 中的第一个可聚焦 View 获得初始焦点。如果这恰好是您的 EditText,它最初将获得焦点。

如果您不想这样,您可以选择以下选项:

聚焦另一个 View

以编程方式确定您希望初始关注的 View 。

@Override
protected void onStart() {

super.onStart();
findViewById( R.id.yourOtherViewId ).requestFocus();
}

在你的布局中制作一个较早的 View 可聚焦

如果您希望它看起来好像“没有 View 具有初始焦点”,您可以使父 View 组可聚焦。在以下示例中,我通过设置 android:focusableInTouchMode="true" 使我的 LinearLayout 可聚焦:

<LinearLayout
android:focusableInTouchMode="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<EditText
...

关于安卓 : clear focus on edittext when activity starts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11157370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com