GridView中的EditText被键盘隐藏

时间:2016-03-28 15:11:29

标签: android gridview android-edittext keyboard

我的GridView和我的EditText存在一些问题。

事实上,我使用自己的适配器填充GridView,其中包含ImageViewEditText。当我在片段活动中选择一个选项时,会动态填充此GridView。不幸的是,当我专注于EditText来写一些文字时,我的键盘隐藏了我的所有EditText

我试着把这一行

android:windowSoftInputMode="stateVisible|adjustResize|adjustPan"

在我的清单中并编辑它以通知某些更改,但我发现没有任何反应,我总是遇到同样的问题。

这是向用户显示的主视图的XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="161dp"
    android:id="@+id/rlInfosProfil"
    android:background="@color/colorAutumn">

    <ImageButton
        android:layout_width="150dp"
        android:layout_height="130dp"
        android:id="@+id/ibProfil"
        android:layout_marginStart="20dp"
        android:layout_centerVertical="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:id="@+id/template_card_default_name"
        android:layout_alignTop="@+id/ibProfil"
        android:layout_alignStart="@+id/template_card_default_age" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:id="@+id/template_card_default_phone"
        android:paddingTop="10dp"
        android:layout_alignBottom="@+id/ibProfil"
        android:layout_alignStart="@+id/template_card_default_age" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:id="@+id/template_card_default_age"
        android:layout_centerVertical="true"
        android:layout_toEndOf="@+id/ibProfil"
        android:layout_marginStart="57dp" />

</RelativeLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:id="@+id/rlInfoDetail"
    android:layout_below="@+id/rlInfosProfil"
    android:layout_alignParentStart="true"
    android:windowSoftInputMode="stateHidden"
    android:layout_alignParentBottom="true">

    <GridView
        android:id="@+id/gdInfosDetails"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:listSelector="@android:color/transparent"
        android:numColumns="2"
        android:horizontalSpacing="20dp"
        android:verticalSpacing="20dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"></GridView>

</RelativeLayout>

<LinearLayout
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_gravity="center_horizontal|bottom"
    android:id="@+id/rlDetail"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentEnd="true">

    <fragment
        android:id="@+id/fragmentDetail"
        android:name="pjs4.android.kit.detail.fragment.DetailsFragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_gravity="center_horizontal|bottom" />

 </LinearLayout>

这是我的对象的视图,它填满了我的GridView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorListDetail"
android:id="@+id/rlDetailItem"
android:weightSum="1">

    <ImageView
        android:id="@+id/ivImgD"
        android:layout_width="wrap_content"
        android:paddingLeft="5dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:id="@+id/tvNameD"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:visibility="gone"
        android:paddingTop="10dp"
        android:paddingBottom="15dp"
        android:layout_marginStart="73dp"
        android:layout_alignBottom="@+id/etNameD"
        android:layout_alignStart="@+id/etNameD" />
    <EditText
        android:id="@+id/etNameD"
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:paddingBottom="15dp"
        android:visibility="gone"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true"
        android:layout_toEndOf="@+id/ivImgD"
        android:layout_marginStart="0dp"
        android:maxLines="1"
        android:singleLine="true" />

</RelativeLayout>

然后,这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="pjs4.android.kit">

    <uses-permission android:name="android.permission.CALL_PHONE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_cloud"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        >

        <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".ProfilActivity"
            android:windowSoftInputMode="stateHidden|adjustResize|adjustPan"
            android:label="@string/app_creation">
        </activity>
    </application>

</manifest>

我认为在我定义GridViewObjectAdapter的地方为您提供Java代码是没用的。如果我不对,你可以问我,我会把它给你。

此外,我已经尝试用GridView中的一些静态代码填充我的JavaActivity并且问题是相同的,所以我真的认为它涉及到XML以及我{的事实{1}}位于EditText

我在网上尝试了很多解决方案,但没有人工作或适合我的问题。

0 个答案:

没有答案