Csharp/C#教程:为什么Xamarin等效的EditText.getText()返回一个字符串?分享


为什么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

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐