Android:Listview没有使用键盘

时间:2011-06-24 16:41:10

标签: android listview keyboard 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>

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

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

Top Title
  List Item 8
  List Item 7
  ...
  List Item 2
  List Item 1
  Bottom Edit box and Send Button

当我点击编辑框输入我的信息时,屏幕如下所示:

Top Title
  List Item 8
  ...
  List Item 5
  Bottom Edit Box and Send Button
  Keyboard

我真正想要的是:

Top Title
  List Item 4
  ...
  List Item 1
  Bottom Edit Box and Send Button
  Keyboard

有人能帮助我吗?

2 个答案:

答案 0 :(得分:11)

我找到了答案here

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

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

还要记住,你的活动标签中的android:windowSoftInputMode =“adjustResize”代替adjustPan。

答案 1 :(得分:2)

您是否尝试过this

您需要在列表中使用setTranscriptMode(ListView.TRANSCRIPT_MODE_NORMAL)setStackFromBottom(true)。希望它有所帮助,它对我有用!