问题标签 [textswitcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
54 浏览

android - 清除 TextView 的文本后,Horizo​​ntalScrollView 保持可滚动状态

我有一个以 TextSwitcher 作为子级的 Horizo​​ntalScrollView,如下所示。

上面这段代码的目标是创建一个水平滚动的TextView。此代码是计算器的一部分,因此 TextView 的文本是动态的。这意味着有时 TextView 需要可滚动,有时则不需要(取决于文本的长度)。

我现在的奇怪行为如下。一旦用户输入越来越多的字符,TextView 就会变得完全可滚动。但是,当用户清除方程式时,Horizo​​ntalScrollView 保持折叠状态,这意味着它仍然可以滚动,而 TextView 的文本只有一个字符(零)。这意味着用户可以左右滚动文本,而文本只有一个字符。

下面将演示此行为(请参见下图)。在左图中,用户输入了一个方程。然后,用户点击清除,方程被清除,这意味着设置为 0。但是,如右图所示,TextView 仍然可以向右滚动。

德斯 德斯 德斯

另一个显着的现象是,当用户再次单击 clear(连续两次)时,TextView 的滚动不再可能。出于某种原因,当用户第一次点击重置时,情况并非如此,但我不明白为什么。

我想要实现的是,一旦 TextView 的文本被清除(因此 TextView 的文本包含一个字符),用户就不可能向左或向右滚动文本。