2013-02-23 72 views
0

我米试图后自动追加日期分隔符'/' DD和毫米每当用户进入DD和毫米值,但问题是附加日期分隔符之后我不能除去隔板既不按压退格也不通过按压删除关于日期格式

public void afterTextChanged(Editable s) 
{ 
    if(s.length() == 2) 
    { 
     lst_date = let_date.getText().toString(); 
     lst_date = lst_date.concat("/"); 
     let_date.setText(lst_date.toString()); 
     Log.v(TAG,"VAlue is s:"+ s.length() +" date:"+ lst_date); 
     let_date.setSelection(let_date.length()); 
    } 
    else if(s.length() == 5) 
    { 
     lst_date = let_date.getText().toString(); 
     lst_date = lst_date + "/"; 
     let_date.setText(lst_date); 

     let_date.setText(lst_date.toString()); 
     Log.v(TAG,"VAlue is s:"+ s.length() +" date:"+ lst_date); 

     let_date.setSelection(let_date.length()); 
    } 

} 
+0

你得到了哪些错误代码? logcat输出不会太差 – 2013-02-23 10:11:31

+0

所有其他字符都可以移除? – 2013-02-23 10:37:46

+0

是所有其他字符都可移除,除了日期分隔符'/' – 2013-02-23 10:38:55

回答

1

这是我的猜测。这并不是说你不能删除'/',而是在它刚被删除之后被你的方法加回来。也就是说,当你点击退格时,它会删除'/',然后调用afterTextChanged()并看到s.length()是2或5,结果'/'被加回去。

+1

是我的预测是否正确? – Barney 2013-03-14 17:27:53