1

我有一个 Tabview,我在其中加载不同Fragments的一个,Fragment我有一个EditText需要键盘自动弹出的地方,而无需单击EditText.

我尝试通过 xml 甚至通过代码手动设置焦点:

et.requestFocus();

<requestFocus />

但没有用:

即使我试过这个:

etName.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                    ((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(
                            etName, InputMethodManager.SHOW_FORCED);
                }
            }
        });

即使我单击 EditText,我第一次在哪里也看不到键盘,但是当我切换选项卡并返回时它可以工作(键盘自动弹出)。

这里有什么问题,我在项目中有一些其他编辑文本框,即使我没有设置焦点,它也会自动显示键盘。但这里很奇怪。和标签有关系吗?!

编辑:

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="4dp" >

        <EditText
            android:id="@+id/editTextName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:hint="Enter album name..." >
        </EditText>

        <Button
            android:id="@+id/createAlbum"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:text="Create Album" />
    </LinearLayout>

</ScrollView>
4

0 回答 0