Android中的adjustResize和adjustPan问题

7
我不需要代码,只需要一些解释,因为我有点迷茫。问题是软键盘出现时的调整大小问题。

在我的情况下,我使用了带有两个editText和许多textView的listView,使用自定义cursorAdapter填充其中的数据库内容。

1) AdjustPan

这很简单。当我使用adjustPan属性时,一切都相当好,只是当我按下listView中的editText并且listView大于屏幕尺寸时,我无法滚动。这实际上是正常行为,我可以理解它。

2) AdjustResize

这是我想要使用的属性。但我面临了两个问题:

- 当我按下两个editText中的一个时,我就不能输入文字。即使焦点在它上面,我也强制软键盘出现,我试图在里面输入一些字母(记住这个editText聚焦),但什么也没有发生。

- 再次按下两个editText之一,它会重新组织(显然是随机的)listView的项目。即使使用了adjustPan完美地工作,但使用adjustResize时,它会混淆listView的项目。

如果对其中一个问题有任何信息将非常有帮助。你甚至可以要求提供代码,但再次强调,我只是在寻找能够帮助的通用解释。谢谢。
1个回答

0

在我的应用程序中,我遇到了与此相同的问题,并且在我的代码中进行了一些更改,现在它在我的应用程序中正常工作。请尝试这个...

<activity android:name="com.MainActivity"
                android:configChanges="orientation|screenSize"/>

 <ListView
        android:id="@+id/fields_list_view"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:descendantFocusability="afterDescendants"
        android:focusableInTouchMode="true"
        android:focusable="true"
        />


 <EditText
                android:id="@+id/input_edit_text"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:cursorVisible="true"
                android:gravity="top"
                android:inputType="none"
                android:textColor="@color/black"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接