如何根据用户在EditText中键入的内容连续更新字符串?

时间:2018-07-26 16:17:59

标签: java android android-edittext

我正在构建一个Andoid应用,您可以在其中输入信用卡信息。我想根据用户实时键入内容来更改编辑文本旁边的图像。

ex:如果数字以4开头,则为签证卡。

任何答案都会有帮助。

3 个答案:

答案 0 :(得分:0)

您可以在编辑文本中使用侦听器方法,因为它们键入更新后要在afterTextChanged中编辑的图像

editText.addTextChangedListener(new TextWatcher() {

   @Override
   public void afterTextChanged(Editable s) 
   {
       //update view
   }

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

   }

   @Override    
   public void onTextChanged(CharSequence s, int start,
   int before, int count) {

   }
});

关于方法如何工作的良好链接: Android TextWatcher.afterTextChanged vs TextWatcher.onTextChanged

答案 1 :(得分:0)

您可以使用数据绑定。它将使您可以与UI上的任何字段保持变量同步。

您将必须在视图上添加xml属性。 例如。

 android:text="@{viewModel.myText}"

以下是如何实施的指南:https://developer.android.com/topic/libraries/data-binding/start

答案 2 :(得分:0)

您可以使用库Card Form进行信用卡输入。

<com.braintreepayments.cardform.view.CardForm
    android:id="@+id/card_form"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

了解详情https://github.com/braintree/android-card-form