【发布时间】:2015-11-05 23:27:48
【问题描述】:
我有 3 个 EditText 以垂直顺序(页眉、主体、页脚)。中间的主要EditText必须处理长文本,而其他两个只是单行EditText。
我希望主要的EditText 有“fling”/快速滚动。为此,我将其包裹在 ScrollView 周围。这工作正常。
但是,我的问题是当用户在标题EditText(单行,imeOption="actionNext")中点击软键盘中的“下一步”按钮时,主EditText 没有收到下一个焦点(相反,页脚获得焦点)。
如果我删除ScrollView,则下一个焦点设置正确(但我无法再进行快速滚动)。
这是我的 XML 布局(活动中没有代码):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<EditText
android:id="@+id/header"
android:singleLine="true"
android:imeOptions="actionNext"
android:text="Header!" android:layout_width="match_parent"
android:layout_alignParentTop="true"
android:nextFocusDown="@+id/main"
android:nextFocusForward="@+id/main"
android:layout_height="wrap_content" />
<ScrollView
android:id="@+id/scrollview"
android:layout_below="@+id/header"
android:layout_above="@+id/footer"
android:fillViewport="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/main"
android:text="Here we have some really long text"
android:layout_width="match_parent" android:gravity="top"
android:layout_height="wrap_content" />
</ScrollView>
<EditText
android:id="@+id/footer"
android:singleLine="true"
android:imeOptions="actionNext"
android:text="Footer!" android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content" />
</RelativeLayout>
【问题讨论】:
标签: android android-layout android-edittext android-scrollview