【问题标题】:Android 2.1: windowSoftInputMode="adjustResize" not working properly with ListViewAndroid 2.1:windowSoftInputMode="adjustResize" 无法与 ListView 一起正常工作
【发布时间】:2010-11-11 03:58:59
【问题描述】:

我有一个带有 ListView 的布局,其中包含 EditText 对象,当用户选择编辑列表项时可以 requestFocus() 。发生这种情况时,我确保在 ListView 上调用 setSelection(),然后让 EditText 请求焦点,然后使用 InputMethodManager.showSoftInput 来显示软键盘。但是,当这种情况发生时,列表视图的大小会正确调整,但所选列表项仍保留在首屏下方,并且用户必须向上滚动。这在 2.2 上正常工作,但在 2.1 上失败。确保列表选择保持可见的任何想法?

【问题讨论】:

    标签: android listview


    【解决方案1】:

    事实证明,我最终在屏幕上记录了我想要的位置,然后在列表视图上覆盖了 onSizeChanged()。当大小改变并且我有一个想要滚动查看的位置时,我在列表上调用 setSelection() 将其显示在视图中。不是很优雅,但它似乎正在工作。

    【讨论】:

      【解决方案2】:

      我会尝试从列表本身或祖先视图的 onMeasure() 调用 smoothScrollToPosition()

      【讨论】:

      • 只是我,还是 2.1 中缺少 smoothScrollToPosition()?我正在查看源代码,但在 AbsListView 的任何地方都看不到它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多