ScrollView中嵌套RecyclerView和EditTextView出现的问题

问题:在进入该Activity布局界面时,自动弹出了软键盘。

尝试解决:
1.在EditTextView设置enabled=false,进入Activity后延时设置为true,发现问题更复杂了
2.在EditTextView设置focuable=false和focusableInTouchMode=false,点击后设置为true,发现又出现其它问题了
....

目前发现的一种解决方法:

将ScrollView的子View,也就是如下代码中的LinearLayout添加
android:focusable="true"
android:focusableInTouchMode="true"
加上如上两个属性后,进入该Activity正常,点击EditTextView也能正常弹出软键盘

代码如下:

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

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

            <EditText
                android:id="@+id/user_activity_content_et"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@null"
                android:gravity="top"
                android:inputType="textMultiLine"
                android:maxLength="200"
                android:scrollHorizontally="false"
                android:singleLine="false"
                android:textSize="14sp" />

            <android.support.v7.widget.RecyclerView
                android:id="@+id/user_activity_img_recyclerview"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="4dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp" />

            <Button
                android:id="@+id/user_activity_commit_btn"
                android:layout_width="match_parent"
                android:layout_height="45dp"
                android:layout_marginBottom="10dp"
                android:layout_marginLeft="15dp"
                android:layout_marginRight="15dp"
                android:layout_marginTop="20dp"
                android:text="提交"
                android:textColor="@android:color/white"
                android:textSize="14sp" />

        </LinearLayout>
    </ScrollView>

猜你喜欢

转载自blog.csdn.net/zhe_ge_sha_shou/article/details/80981873