如何在另一个textview中输入时添加textview?

时间:2018-02-26 18:59:08

标签: android android-edittext listener

我有一组edittext,编辑文本的编号取决于用户输入的步数。

我想要实现的是在初始时显示一个edittext,然后当用户在当前edittext中键入时,它将在下面添加一个新的空白edittext。 我该如何实现这个监听器?

我考虑使用textwatcher,它会监听它改变的每个角色,但我只需要听第一个角色。

2 个答案:

答案 0 :(得分:0)

如果charSequence长度对应于您的值,则动态EditText如何?

您可以在第一个编辑

上使用textWatcher
public void afterTextChanged(Editable s) {

}

public void beforeTextChanged(CharSequence s, int start, int count, int after) {
     if ((after == 1) && (count== 0) && start == 0))
        //Implement a new EditText dynamically

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

}

如此处所述; Differences between TextWatcher 's onTextChanged, beforeTextChanged and afterTextChanged

start是文本的起始索引

count是修改前文本的长度

之后是修改后的文本的长度

答案 1 :(得分:0)

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
     if(s.length == 0){
       // This means user has erased all the text from the edittext.
       // For this instance you have to remove the added edittext.
     }
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
      if(s.length == 0){
        // It means your this was your initial input before changing text
        // add another edit text at this moment.
      }

    }

    @Override
    public void afterTextChanged(Editable s) {

        // TODO Auto-generated method stub
    }
});