Android:Listview没有使用键盘

rad*_*m22 7 keyboard android listview android-edittext

我的布局看起来像这样:

<LinearLayout>
  <RelativeLayout>
    Some Image and Text as Title
  </RelativeLayout>
  <RelativeLayout>
    <LinearLayout>
      <ListView>
        My message List
      </ListView>
    </LinearLayout>
    <RelativeLayout>
      Edit Box and Send Button
    </RelativeLayout>
  </RelativeLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我在显示时明确地将当前选择设置为列表的最后一项(最新).

如果未在底部的"编辑"框中输入文本,则屏幕如下所示:

Top Title
  List Item 8
  List Item 7
  ...
  List Item 2
  List Item 1
  Bottom Edit box and Send Button
Run Code Online (Sandbox Code Playgroud)

当我单击编辑框以输入我的消息时,屏幕如下所示:

Top Title
  List Item 8
  ...
  List Item 5
  Bottom Edit Box and Send Button
  Keyboard
Run Code Online (Sandbox Code Playgroud)

我真正想要的是:

Top Title
  List Item 4
  ...
  List Item 1
  Bottom Edit Box and Send Button
  Keyboard
Run Code Online (Sandbox Code Playgroud)

有谁可以帮助我吗?

Wes*_*ton 11

我在这里找到了答案.

基本上只是使用自定义类扩展ListView,将onSizeChanged()方法覆盖为setSelection(getCount());

这似乎是最好的解决方案,看起来谷歌语音使用相同的策略(因为如果你在聊天列表的顶部,然后旋转屏幕,它会让你回到底部).

还要记住android:windowSoftInputMode ="adjustResize"在清单中的活动标签中出现而不是adjustPan.