【问题标题】:UI getting stuck when softkeyboard shown while mediaplayer playing?播放媒体播放器时显示软键盘时 UI 卡住?
【发布时间】:2013-09-05 09:16:45
【问题描述】:

我的应用程序中有一个媒体播放器,在搜索栏的两端有一个搜索栏和两个文本视图,用作计时器,我将在此播放器中播放 .wav 文件。我在同一活动中也有一个编辑文本,我需要在播放过程中进行编辑。我的问题是,当正在播放时,如果正在触摸编辑文本,则会显示软键盘并且 UI 卡住,这意味着搜索栏更新和计时器更新卡住了。我正在使用使用处理程序的 timertask 更新它。任何人都可以帮助弄清楚这是什么问题。为什么显示软键盘时 UI 卡住了?

我尝试了许多其他方法来更新媒体播放器,猜测这将是使用 timertask 的问题。

  • 使用服务播放 mediaplyer 并使用处理程序将其更新为 UI。
  • 仅使用线程和处理程序,将进度作为消息发送。
  • 使用 Assynctask 并在 runOnUIthread 中更新它。

在所有这些情况下,当显示软键盘时,所有其他文本视图和搜索栏更新都会卡住。请帮助我摆脱这个问题。我完全卡住了:-(。有没有其他方法可以解决这个问题。

【问题讨论】:

  • 可以分享截图吗?
  • 只是在黑暗中拍摄,但在你的 android manifest 中,你的 android:windowSoftInputMode 在这个活动上设置了什么?
  • 是您使用的默认软键盘(Android 自带)还是自定义软键盘?
  • 它的默认键盘让我的 UI 卡住了,关于 SCREENSHOT 它看起来一样...

标签: android android-mediaplayer android-softkeyboard seekbar android-seek


【解决方案1】:

Mediaplayer UI 卡住了,因为我试图使用 mediaplayer 当前位置更新 UI。因此,当显示软键盘并且 UI 正在同时访问媒体播放器时,因为媒体播放器实例很重,所以 UI 卡住了。所以我尝试了一种不同的方法来在播放时使用百分比更新 UI,这样就不需要访问 mediaplayer 当前位置。当我实现这个逻辑时,这个问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多