我在我的Android应用中使用包含多个EditText的列表视图。 在manifest.xml中使用
android:windowSoftInputMode="adjustPan"
和java代码:
et_email.setOnFocusChangeListener(new CustomOnFocusChangeListener());
private class CustomOnFocusChangeListener implements OnFocusChangeListener {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
}
}
}
因此失去焦点的问题得到了解决。但我遇到了这样的问题: EditText保留在三星Galaxy s3的Android设备版本4.1.2和注释10.1平板电脑的键盘后面。使用Android版本4.1.2的另一台设备和使用galaxy s3的Android版本4.3没问题。 我努力但无法解决问题。
编辑: 这是屏幕布局:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/White"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/ll_passengersInfoScreen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ListView
android:id="@+id/lv_details”
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
<TextView
style="@style/TextViewWhiteBoldLargeSize"
android:layout_width="match_parent"
android:padding="@dimen/padding_medium"
android:text="@string/Guest_Info"/>
<ListView
android:id="@+id/lv_passenger"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dividerHeight="1dp"
android:divider="@color/Black">
</ListView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:orientation="horizontal">
<!— several view more -!>
</LinearLayout>
</LinearLayout> </ScrollView>
编辑进入&#34; lv_passenger&#34;列表视图行。我动态地计算listView的高度。
答案 0 :(得分:0)
是的,我也面临同样的问题......
我必须将根ViewGroup更改为ScrollView,然后删除&#34; adjustPan&#34;来自清单文件。
在您的情况下,您需要删除&#34; adjustPan&#34;从清单中尝试着重于触摸项目。
希望它能帮助您解决问题。