我有一堆EditText
位于 LinearLayout
中在 ScrollView
内.当我点击其中一个时,软键盘正常出现,我的EditText
显得专注。但是当我输入时,文本不显示。甚至没有显示光标。当我点击另一个 EditText
, 或应进行可见更改(添加 View )的按钮,或单击键盘上的下一步,视觉上没有任何更改 .但是一旦我关闭键盘(使用后退按钮或以编程方式),我终于可以看到变化:输入的文本出现并且想要EditText
被选中。
好像一切正常,只有屏幕被卡住,直到我关闭软输入,然后我才能看到进度。
为什么会发生这种情况,我该如何解决?
以编程方式关闭键盘无法通过,因为我需要键盘上的 Next 按钮才能工作,并且不断打开/关闭使我的 UI 看起来令人困惑。
我的 EditText
's 都是这样的,只有 ID 和 Hint 不同。
<EditText
android:id="@+id/dataFullName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:focusable="true"
android:focusableInTouchMode="true"
android:hint="Personal name"
android:inputType="textNoSuggestions|textPersonName|textVisiblePassword"
android:textColor="#FFFFFF" />
这是
ScrollView
持LinearLayout
那是我的EditText
<ScrollView
android:id="@+id/generalsScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- my EditText's here -->
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="Additional information:"
android:focusable="true"
android:focusableInTouchMode="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@android:color/white"
android:textSize="@dimen/additional_text" />
<LinearLayout
android:id="@+id/generalsContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/additional_margin"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/generalsAdder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/newGeneralButton"
android:layout_width="96dp"
android:layout_height="32dp"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:background="@drawable/bttn_bg"
android:onClick="newGeneralButtonPressed"
android:text="Add"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textColorLink="@android:color/white" />
</LinearLayout>
</LinearLayout>
</ScrollView>
最佳答案
我刚刚又解决了我的问题。在同一个 LinearLayout 中有太多的 EditText。所以我只是把它们分成2个LinearLayout,现在很好。有谁知道为什么会这样?
关于Android软键盘卡住可见布局直到关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27410548/