requestFocus无法正常工作

Upv*_*ote 10 android textview android-edittext

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="20dp" >

    <AutoCompleteTextView
        android:id="@+id/autocomplete_zone"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:dropDownVerticalOffset="0.2dp"
        android:ems="10"
        android:hint="@string/zone_hint"
        android:inputType="text"
        android:lines="1"
        android:maxLines="1"
        android:popupBackground="#00ffffff"
        android:textColor="#ffffff"
        android:textColorHint="#ffffff" >

        <requestFocus />
    </AutoCompleteTextView>

    <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignBottom="@id/autocomplete_zone"
        android:layout_alignRight="@id/autocomplete_zone"
        android:layout_alignTop="@id/autocomplete_zone"
        android:paddingBottom="5dp"
        android:visibility="invisible" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

在上面的标记中

<requestFocus />
Run Code Online (Sandbox Code Playgroud)

不起作用.活动开始时,文本视图不会聚焦.这是因为覆盖文本视图的进度条吗?任何想法如何解决这一问题?

lon*_*ngi 16

我通常使用以下内容来设置焦点:将以下属性添加到您的 xml-layout

<AutoCompleteTextView 
    android:focusable="true" 
    android:focusableInTouchMode="true"> 
</AutoCompleteTextView>
Run Code Online (Sandbox Code Playgroud)

并以编程方式设置焦点

((AutoCompleteTextView) findViewById(R.autocomplete_zone)).requestFocus();
Run Code Online (Sandbox Code Playgroud)

fe in onResumeoronWindowChanged

public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);

    if (hasFocus) {
        ((AutoCompleteTextView) findViewById(R.autocomplete_zone)).requestFocus();
    }
}
Run Code Online (Sandbox Code Playgroud)


Upv*_*ote 5

解决了!在清单中,我向活动添加了以下内容:

android:windowSoftInputMode="stateAlwaysVisible"
Run Code Online (Sandbox Code Playgroud)


Eva*_*ons 5

以上都不对我有用...这就是我使用的

txtView.getParent().requestChildFocus(txtView,txtView);
Run Code Online (Sandbox Code Playgroud)