我很难maxLines以TextView编程方式重置属性.
刚尝试设置0,它不起作用.-1崩溃了应用程序.我可以使用更简单的解决方法并设置maxLines为5000但我不想这样做.
任何想法如何做到这一点?
更新
好吧,我发现了一个问题..我也设置了Ellipsize ......我将使用以下解决方法:
TextView questionDetail = (TextView) mQuestionDetailHeader.findViewById(R.id.desc);
questionDetail.setText(mCurrentQuestion.getQuestion());
questionDetail.setMaxLines(Integer.MAX_VALUE); //As in the android sourcecode
questionDetail.setEllipsize(null);
Run Code Online (Sandbox Code Playgroud)
ale*_*mix 58
由于还没有批准的答案 - 重置TextView的maxlines属性的正确方法是:
textView.setMaxLines(Integer.MAX_VALUE);
根据Valdemar的评论和这个stackoverflow的答案.使用-1将导致ArrayIndexOutOfBoundsException.
请记住END,MARQEE根据文档,setEllipsize()设置将遵循maxlines> = 2 :
如果setMaxLines(int)用于设置两行或更多行,则仅支持END和MARQUEE*(其他ellipsizing类型不会执行任何操作).
ina*_*ruk -6
不应-1使您的应用程序崩溃。这实际上是TextView默认使用的:
case com.android.internal.R.styleable.TextView_maxLines:
setMaxLines(a.getInt(attr, -1));
break;
Run Code Online (Sandbox Code Playgroud)
这段代码表明,当android:maxLines未指定时,代码使用-1通过函数设置值setMaxLines()。
我也做了测试应用来验证我的结论。而且它工作正常,不会崩溃:
public class HelloWorld extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
TextView text = (TextView)findViewById(R.id.text);
text.setMaxLines(-1);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19692 次 |
| 最近记录: |