获取单行状态

时间:2016-12-21 15:38:22

标签: android android-singleline

我们可以用这个

设置单行
TextView textView = (TextView) view.findViewById(R.id.someTextView);
textView.setSingleLine(true);

但是单线事件getSingleLine()的获取状态不会退出。

如何检查文本视图的单行是打开(true)还是关闭(false)?

我的目标API级别是15。

2 个答案:

答案 0 :(得分:3)

我认为不推荐使用singleLine,您应该使用textView.setMaxLines(1),然后使用textView.getMaxLines(),以便了解textView是否为singleLine:

boolean isSingleLine = textView.getMaxLines() == 1;

编辑API 15

但是如果您在这种情况下使用singleLine来了解TextView是否为singleLine,您可以使用API​​ 1中提供的getTransformationMethod(),如下所示:

boolean isSingleLine = textView.getTransformationMethod() == SingleLineTransformationMethod.getInstance();

答案 1 :(得分:1)

您应该使用getMaxLines()

tv.setSingleLine( true ) || tv.setMaxLines( 1 );

int maxLines = tv.getMaxLines();

Assert.assertTrue( 1, maxLines );

setSingleLine()的文档说:

  

将此字段的属性(线条,水平滚动,变换方法)设置为单行输入。

我不喜欢这个,就是他们在setMaxLines(1)和其他一些人身上放了一个漂亮的包装。

under the covers,此方法确实将行数设置为1。