这是在其他地方问过的,但该解决方案对我不起作用。因此,在更多背景下再次提出它。问题是活动包含滚动音乐标题文本视图,该视图被更新的经过时间计数器文本视图中断。
我的活动布局中有这两个 TextView 小部件(尽管它们被其他布局容器包含)。
<TextView android:id="@+id/v_current_time"
android:minWidth="26dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="right|center_vertical"
android:singleLine="true"
android:textSize="12sp"
android:enabled="false"
/>
<TextView android:id="@+id/v_track_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="normal"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:enabled="true"
/>
音乐标题动态设置为(在测试用例中)一长行文本。如果我从未使用以下行更新当前时间的文本,则无论我如何与暂停和播放按钮交互,音乐标题都会愉快地永远滚动。
tvCurrentTime.setText(DataFormat.formatTime(progress));
但如果我确实将文本设置为当前时间,音乐标题就会停止。按我的暂停按钮会以某种方式将滚动重新启动,但按播放会导致当前时间更新并再次停止。
根据此线程中的建议,我尝试将时间文本的设置与重新启用滚动标题结合起来,如下所示:
tvCurrentTime.setText(DataFormat.formatTime(progress));
tvTitle.setEnabled(true);
除了每次重新启动时重置滚动之外,这对失败没有任何影响。
我是否遗漏了一些细节,或者对可能出现问题的任何其他想法?多谢!