Я пробовал использовать TextChangedListener, beforeTextChanged и afterTextChanged! но у меня не было никакого результатаКак я могу управлять EditText в Android, чтобы не вводить один и тот же номер дважды?
0
A
ответ
1
TextWatcher
класс может помочь вам:
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int a, int b, int c) {
// TODO Auto-generated method stub
output.setText(s);
if(a == 9){
Toast.makeText(getApplicationContext(), "Maximum Limit Reached", Toast.LENGTH_SHORT).show();
}
}};
0
эта работа для меня :)
txtwt = new TextWatcher()
{
char last ;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
if (s.toString().length() >= 1)
EntredNumber = s.toString();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
if (s.toString().length() >= 2)
{
last = (s.toString().charAt(s.toString().length() - 1));
// Toast.makeText(getApplicationContext(), last +"", Toast.LENGTH_SHORT).show();
if (EntredNumber.contains((last + "")))
{
txtImputNumber.removeTextChangedListener(txtwt);
txtImputNumber.setText(EntredNumber);
txtImputNumber.setSelection(EntredNumber.length());
txtImputNumber.addTextChangedListener(txtwt);
}
}
}
@Override
public void afterTextChanged(Editable s)
{
}
};
txtImputNumber.addTextChangedListener(txtwt);
Так что вы хотите сделать это так, вы не можете ввести, например, 9 в два раза? –
ItzHoudini да точно –
textwatcher - правильный подход. Вы можете поделиться своим кодом? – bond