我有一组edittext,编辑文本的编号取决于用户输入的步数。
我想要实现的是在初始时显示一个edittext,然后当用户在当前edittext中键入时,它将在下面添加一个新的空白edittext。 我该如何实现这个监听器?
我考虑使用textwatcher,它会监听它改变的每个角色,但我只需要听第一个角色。
答案 0 :(得分:0)
如果charSequence长度对应于您的值,则动态EditText如何?
您可以在第一个编辑
上使用textWatcherpublic 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
}
});