EditText保留在某些Android设备的键盘后面

时间:2015-03-24 09:06:30

标签: listview android-listview android-edittext

我在我的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的高度。

1 个答案:

答案 0 :(得分:0)

是的,我也面临同样的问题......

我必须将根ViewGroup更改为ScrollView,然后删除&#34; adjustPan&#34;来自清单文件。

在您的情况下,您需要删除&#34; adjustPan&#34;从清单中尝试着重于触摸项目。

希望它能帮助您解决问题。