我通过继承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;
}
}