在edittext 00:00格式化

时间:2018-03-21 18:06:32

标签: java android android-studio

在Android Studio中,我想要一个使用格式为00:00的Edittext,并且您不必在:中输入00:00。有没有办法可以在布局中完成,还是应该以编程方式完成?

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个

在xml中执行此操作

<EditText 
   android:id="@+id/editText"   
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:maxLength="5" />

并添加addTextChangedListener以编辑文字

editText = (EditText)findViewById(R.id.editText);

editText.addTextChangedListener(new TextWatcher()
{
     public void afterTextChanged(Editable s)
     {

     }

     public void beforeTextChanged(CharSequence s, int start, int count, int after)
     {

     }

     public void onTextChanged(CharSequence s, int start, int before, int count)
     {
          String text = editText.getText().toString();
          textlength = editText.getText().length();

          if(textlength == 2)
          {
           editText.setText(text + ":");
          }
      }
  });

这对你有用。

答案 1 :(得分:-1)

如果您打开使用外部库,我建议您搜索众多MaskedEditTexts库中的一个。我在我的一个项目中使用了edittext-mask并且非常直接:

1 - 将它添加到你的proyect:

scope.download = function() {
    scope.callBack();
    ....
}

第二次使用MaskedEditText而不是常规Android的EditText:

compile 'ru.egslava:MaskedEditText:1.0.5'

希望有所帮助:)