Как я могу изменить свой текст редактирования после изменения? Метод работает, но текст редактирования не меняется. Могу ли я использовать setview в пост-обменном? Alertdialog во фрагменте так сложно, и я использовал это приложение разбился
AlertDialog.Builder builder = new AlertDialog.Builder(this.getContext());
builder.setTitle("Lütfen tutar girin");
final EditText input = new EditText(this.getContext());
input.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
builder.setView(input);
input.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
try {
if(s.length()>=4) {
s = new SpannableStringBuilder(Formatter(s.toString()));
}
}catch (NumberFormatException e){
}
}
});
builder.setPositiveButton("OK", (dialog, which) -> {
String pin = input.getText().toString();
if (!pin.isEmpty()) {
getFragmentManager().beginTransaction()
.replace(R.id.container, new CardFragment((int) (Float.parseFloat(pin) * 100), operation))
.addToBackStack(null).commit();
} else {
showMessage("Lütfen Tutar Giriniz");
}
});
builder.show();
Это изменить текстовое поле. Форматер:
public String Formatter(String rut) {
String mString;
if(rut.length()==4){
mString = rut.substring(0,4)+",";
}else if(rut.length()==5){
mString = rut.substring(0,4)+","+rut.substring(3,4);
}else
mString = rut.substring(0,4)+","+rut.substring(3,5);
return mString;
}