为什么Xamarin等效的EditText.getText()返回一个字符串?
我是一个新的Xamarin.Android开发人员。 我最近阅读了一些在派生类中使用EditText
方法的Java代码。 其中一个派生类’方法看起来像这样:
private void checkMatchingBracket(int paramInt) { getText().removeSpan(this.openBracketSpan); getText().removeSpan(this.closeBracketSpan); ... }
这让我感到困惑,因为我认为getText()
返回了一个String
,因为EditText.Text
属性是此类’Xamarin对应物中的string
。 然而,这种情况并非如此; 似乎getText()
返回一个Editable
,它看起来像一个可变的字符串类型,它提供了额外的function,例如将“spans”附加到某些文本区域( SpannableString
?)。 我的猜测是Xamarin返回的string
已从此Editable
的文本中复制过来,因此我无法真正修改原始的Editable
并使用其API。
我对么? 因为我正在使用Xamarin,是否无法访问原始的Editable
?
编辑:我想要做的具体事情是EditText
本的颜色区域。 我发现这个答案使用跨度来实现这个目的:
TextView textView = (TextView)findViewById(R.id.mytextview01); Spannable WordtoSpan = new SpannableString("partial colored text"); WordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); textView.setText(WordtoSpan);
但是,Xamarin的API EditText.Text.set
只接受一个.NET string
,它显然没有颜色或“跨度”的概念。
您正在寻找EditableText
属性:
var editable = aTextView.EditableText; editable?.RemoveSpan(aSpanObject);
回复: https : //developer.xamarin.com/api/property/Android.Widget.TextView.EditableText/
返回TextView显示为可编辑对象的文本。 如果文本不可编辑,则返回null。
上述就是C#学习教程:为什么Xamarin等效的EditText.getText()返回一个字符串?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1010101.html