java – 为什么Xamarin等效的EditText.getText()返回一个字符串?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 为什么Xamarin等效的EditText.getText()返回一个字符串?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1443字,纯文字阅读大概需要3分钟。
内容图文
![java – 为什么Xamarin等效的EditText.getText()返回一个字符串?](/upload/InfoBanner/zyjiaocheng/811/d942a03e34f548309ec4493e6fbedeaf.jpg)
我是一个新的Xamarin.Android开发人员.我最近阅读了一些在派生类中使用EditText方法的Java代码.派生类的一个方法看起来像这样:
private void checkMatchingBracket(int paramInt)
{
getText().removeSpan(this.openBracketSpan);
getText().removeSpan(this.closeBracketSpan);
...
}
这让我感到困惑,因为我认为getText()返回了一个String,因为EditText.Text属性是此类’Xamarin对应物中的字符串.然而,这种情况并非如此;似乎getText()返回一个Editable,它看起来像一个可变的字符串类型,它提供了额外的功能,例如将“跨度”附加到文本的某些区域(SpannableString?).我的猜测是Xamarin返回的字符串已经从此Editable的文本中复制过来,因此我无法真正修改原始的Editable并使用其API.
我对么?因为我正在使用Xamarin,所以无法访问原始的Editable吗?
编辑:我想要做的具体事情是EditText中文本的颜色区域.我发现this answer使用跨度来实现这个目的:
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字符串,它显然没有颜色或“跨度”的概念.
解决方法:
您正在寻找EditableText属性:
var editable = aTextView.EditableText;
editable?.RemoveSpan(aSpanObject);
回复:https://developer.xamarin.com/api/property/Android.Widget.TextView.EditableText/
Return the text the TextView is displaying as an Editable object. If the text is not editable, null is returned.
内容总结
以上是互联网集市为您收集整理的java – 为什么Xamarin等效的EditText.getText()返回一个字符串?全部内容,希望文章能够帮你解决java – 为什么Xamarin等效的EditText.getText()返回一个字符串?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。