这是在其他地方问过的,但该解决方案对我不起作用。所以再次摆出更多的背景。问题是一个活动包含一个滚动的音乐标题文本视图,该视图被更新的经过时间计数器文本视图中断。
我的活动布局中有这两个 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);
除了每次重新启动时重置滚动条之外,这对失败没有影响。
是否有一些我遗漏的细节,或者关于可能出现什么问题的任何其他想法?非常感谢!