我不是在寻找代码,我也不会发布任何代码,只是一个解释,因为我有点迷路了。
这个主要问题是出现软键盘时调整大小。
以我为例
我有一个 listView,其中包含 2 个 editText 和许多使用自定义 cursorAdapter 的包含数据库内容的 textView。
1) 调整平移
这很简单。当我使用 adjustPan 属性时,一切都很好,除了当我在 listView 中按下 editText 并且如果 listview 大于屏幕尺寸时,我无法滚动。这实际上是正常行为,我可以理解。
2) 调整大小
在这里我可以随意滚动。
这个属性是我想要使用的。但我面临两个问题:
当我按下两个 editText 之一时,我就是无法写入。不可能,甚至认为它有焦点。我强制显示软键盘,我尝试输入一些字母(记住这个 editText 是焦点)但没有任何反应。
同样,当我按下两个 editText 之一时,它只是重新组织(显然是随机地) ListView 的项目。即使认为它与 adjustPan 和 adjustResize 一起工作得很好,它也会弄乱 listView 的项目。
有关这两个问题之一的任何信息都会有所帮助。您甚至可以索取代码,但再一次,我只是在寻找可能有所帮助的一般解释。谢谢。
最佳答案
我在我的应用程序中同样面临这个提到的问题,我的代码中的一些更改在我的应用程序中运行良好。请试试这个...
<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"/>
关于android adjustresize adjustpan 著名问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9988465/