如何在使用Java.Util.Timer的EditText控件等延迟情况下显示自定义密码字符

时间:2019-08-09 05:15:34

标签: timer xamarin.android android-edittext

我通过继承EditText控件创建了一个自定义控件。我的要求是显示自定义密码字符,并且在键入输入类型时,键入时应有一些类似于EditText的延迟。我已经实现了自定义密码字符显示,但是我无法满足第二个要求。我尝试使用 Java.Util.Timer 达到第二个要求。我将示例附加在以下链接中:https://github.com/Eswaran17392/CustomSamples/blob/master/CustomEditboxTimer.zip。任何人,请建议我如何使用Timer或任何可能的解决方案来实现类似于EditText的延迟。为了应用延迟,我使用了以下代码片段:

    if(ShowPasswordDelay)
                    {
                        if (timer != null)
                        {
                            timer.Cancel();
                            timer.Dispose();
                            timer = null;

                            this.Text = value;
                        }

                        timer = new Timer();
                        MyTask = new MyTask(timer, this, value);
                        timer.Schedule(MyTask, 1000);

                    }
                    else
                    {
                        this.Text = value;
                    }

internal class MyTask : TimerTask
    {
        private Timer timer;
        private CustomEditboxcontrol Edittext;
        string text;

        public MyTask(Timer timer, CustomEditboxcontrol edittext, string value)
        {
            this.timer = timer;
            Edittext = edittext;
            text = value;
        }

        public override void Run()
        {
            Edittext.Text=text;
        }
    }

键入单个字符时,我遇到了以下问题: enter image description here

0 个答案:

没有答案