Xamarin.forms android EditText控件将输入转换为ascii序列的原因是什么
所以对于一些项目,我正在与Xamarin.Forms合作 由于Xamarin.Forms的一个区域速度太慢了,我使用了CustomRenderer来解决一个涉及列表的特定区域 回到项目并升级软件包后,我突然发现了最奇怪的bug 我正在将Xamarin.forms android EditText控件将输入转换为ascii序列的原因是什么,xamarin.forms,xamarin.android,Xamarin.forms,Xamarin.android,所以对于一些项目,我正在与Xamarin.Forms合作 由于Xamarin.Forms的一个区域速度太慢了,我使用了CustomRenderer来解决一个涉及列表的特定区域 回到项目并升级软件包后,我突然发现了最奇怪的bug 我正在将“1234”设置为EditText,而EditText.Text属性突然变为“49505152”——字符串被转换为其ascii等效值 这是一个已知的问题吗?有人知道如何修复它吗?问题的原因是我的EditText应用了InputFilter,并且在更新包后,突然
“1234”
设置为EditText
,而EditText.Text
属性突然变为“49505152”
——字符串被转换为其ascii等效值
这是一个已知的问题吗?有人知道如何修复它吗?问题的原因是我的
EditText
应用了InputFilter
,并且在更新包后,突然执行了另一个FilterFormatted
的代码路径
public ICharSequence FilterFormatted(ICharSequence source, int start, int end, ISpanned dest, int dstart, int dend)
{
var startSection = dest.SubSequenceFormatted(0, dstart);
var insert = source.SubSequenceFormatted(start, end);
var endSection = dest.SubSequenceFormatted(dstart, dest.Length());
var merged = $"{startSection}{insert}{endSection}";
if (ValidationRegex.IsMatch(merged) && InputRangeCheck(merged, CultureInfo.InvariantCulture))
{
StringBuilder sb = new StringBuilder(end - start);
for (int i = start; i < end; i++)
{
char c = source.CharAt(i);
sb.Append(c);
}
if (source is ISpanned) {
SpannableString sp = new SpannableString(sb);
TextUtils.CopySpansFrom((ISpanned)source, start, sb.Length(), null, sp, 0);
return sp;
} else {
// AFTER UPDATE THIS PATH WAS ENTERED UNLIKE BEFORE
return sb;
}
}
else
{
return new SpannableString(string.Empty);
}
}
public ICharSequence FilterFormatted(ICharSequence源、int开始、int结束、ISpanned结束、int开始、int结束)
{
var startSection=dest.subsequenceformated(0,dstart);
var insert=source.subsequenceformated(开始、结束);
var endSection=dest.subsequenceformated(dstart,dest.Length());
var merged=$“{startSection}{insert}{endSection}”;
if(ValidationRegex.IsMatch(合并)和&InputRangeCheck(合并,CultureInfo.InvariantCulture))
{
StringBuilder sb=新的StringBuilder(结束-开始);
for(int i=start;i
我认为,如果不看到在自定义渲染器中实现的实际代码,就很难说出任何有用的信息。请把它加到你的问题上。@GeraldVersluis没关系。这是一种我必须自己调试才能找到答案的代码,因为这是一种不常见的代码