我有EditText
然后:
private void RegEmail_TextChanged(object sender, Android.Text.TextChangedEventArgs e)
{
var orginalDrawable = RegEmail.Background;
if (RegEmail.Text.Contains("@") && (RegEmail.Text.Contains(".")))
{
RegEmailB = true;
RegEmail.SetBackgroundColor(Color.Green);
}
else
{
RegEmailB = false;
RegEmail.SetBackgroundColor(Color.Red);
}
}
我基本上需要将其设置回默认状态..但我发现的大部分内容都是在java中或不存在。
答案 0 :(得分:1)
您必须将EditText
的原始状态保存在TextChanged
之外。这是一个完整的完整解决方案。
private EditText RegEmail;
private Drawable _orginalDrawable;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);
RegEmail = FindViewById<EditText>(Resource.Id.myEdt);
_orginalDrawable = RegEmail.Background;
RegEmail.TextChanged += (sender, e) =>
{
if (RegEmail.Text.Contains("@") && (RegEmail.Text.Contains(".")))
{
RegEmail.Background = _orginalDrawable;
}
else
{
RegEmail.SetBackgroundColor(Color.Red);
}
};
}
答案 1 :(得分:0)
您可以在设置之前获取颜色,以便稍后将其设置回来,
Flow