Jestem nowicjuszem w rozwoju Androida - chcę wiedzieć, kiedy wprowadzamy dane na editext jak (pole kalkulacyjne) powinien natychmiast pokazać wynik nie używając alertdialog lub przycisku, aby uzyskać dane. Czy ktoś może mi pomóc.Wykryj kiedy użytkownik wprowadza dane do edytora editext natychmiast pokazuje odpowiedź
Odpowiedz
Możesz użyć TextWatcher w EditText i poradzić sobie z tym, co chcesz zrobić ze swoim użytkownikiem Dane wejściowe Natychmiast.
tutaj jest przykładem formatowania natychmiast po danych wejściowych użytkownika
final EditText EditTxtFinancialCode = (EditText) findViewById(R.id.edtNewCpFinancialCode);
EditTxtFinancialCode.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String a = "";
boolean flag = true;
String eachBlock[] = EditTxtFinancialCode.getText().toString().split("-");
for (int i = 0; i < eachBlock.length; i++) {
if (eachBlock[i].length() > 4) {
flag = false;
}
}
if (flag) {
EditTxtFinancialCode.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DEL)
KeyDel = 1;
return false;
}
});
if (KeyDel == 0) {
if (((EditTxtFinancialCode.getText().length() + 1) % 5) == 0) {
if (EditTxtFinancialCode.getText().toString().split("-").length <= 2) {
EditTxtFinancialCode.setText(EditTxtFinancialCode.getText() + "-");
EditTxtFinancialCode.setSelection(EditTxtFinancialCode.getText().length());
}
}
a = EditTxtFinancialCode.getText().toString();
} else {
a = EditTxtFinancialCode.getText().toString();
KeyDel = 0;
}
} else {
EditTxtFinancialCode.setText(a);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
Ponieważ masz dość abstrakcyjne pytanie, niech próbują odpowiedzieć równie ogólna:
w twojej onCreate()
oświadczyć, i oddać swój EditText
EditText editText = (EditText) findViewById(R.id.editText);
editText.addTextChangedListener(filterTextWatcher);
A potem, pozaonCreate()
, skonfigurować filterTextWatcher
tak:
private TextWatcher filterTextWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// DO THE CALCULATIONS HERE AND SHOW THE RESULT AS PER YOUR CALCULATIONS
int radius = 0;
radius = Integer.valueof(s.toString);
double area = Math.PI * radius * radius;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
};
EDIT:
Zaktualizowany kod z możliwych obliczeń. (NIETESTOWANY KOD: Właśnie wpisane IN bez badań zmodyfikować GDZIE KONIECZNE.)
Przeczytaj więcej o TextWatcher's here
A oto kilka przykładów, które pomogą Ci zacząć:
- http://www.android-ever.com/2012/06/android-edittext-textwatcher-example.html
- http://www.cybernetikz.com/blog/android-textwatcher-example/
- http://www.allappsdevelopers.com/TopicDetail.aspx?TopicID=22b00052-dad0-4e09-a07e-b74f115ab247
- http://myandroidsolutions.blogspot.in/2012/06/android-edittext-change-listener.html
na przykład, aby znaleźć obszar okręgu po prostu wpisując promień w edittext i potrzebuję odpowiedzi poniżej do tego pola editekstowego – user2019287
@ user2019287: Promień na podstawie czego? Powierzchnia, średnica, obwód? Poza tym powinieneś być w stanie kodować w swoich formułach eh fella? Uzyskaj swoją formułę tutaj: [Promień] (http://en.wikipedia.org/wiki/Radius). –
obszar = math.pi * promień * promień – user2019287
http://developer.android.com/reference/android/widget/TextView.OnEditorActionListener.html
Zrób słuchacza.
myTextBox.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
TextView myOutputBox = (TextView) findViewById(R.id.myOutputBox);
myOutputBox.setText(s);
}
});
zobaczyć http://www.mysamplecode.com/2012/06/android-edittext-text-change-listener.html
- 1. Wykryj kiedy użytkownik odmawia dostępu do kamery
- 2. Wykryj, kiedy użytkownik kliknie przycisk wklejania w UITextView
- 3. cel c - Wykryj, kiedy użytkownik zmienia ustawienia powiadomień aplikacji
- 4. Wykryj, czy użytkownik kliknie wewnątrz kręgu
- 5. Wykryj, kiedy moduł Pythona zwalnia
- 6. Wykryj, kiedy aplikacja konsolowa się zamyka/zabija?
- 7. Wykryj, czy użytkownik ma możliwości drukowania?
- 8. Wykryj, czy użytkownik użył przycisku Wstecz.
- 9. Jak testować wprowadzanie znaków do UITextField, gdy użytkownik wprowadza znaki i zapobiega nieważnym znakom.
- 10. Wykryj, kiedy załadowałeś mapy z Androidem V2
- 11. Wykryj, czy kolekcja zawiera dane
- 12. Wykryj, kiedy HTML zakończyło ładowanie i renderowanie na stronie
- 13. Podproces Python wprowadza spacje
- 14. Jak sprawdzić, czy użytkownik pozostawił pustą odpowiedź "input" lub "raw_input"?
- 15. Wykryj, kiedy rekord jest klonowany w wyzwalaczu
- 16. Asp.net MVC 6 get użytkownik twierdzi, natychmiast po zalogowaniu
- 17. Oracle WYKONAJ NATYCHMIAST do kursora
- 18. Wykryj, kiedy Firebug (lub inny debuger internetowy) używany do debugowania
- 19. Wykryj kiedy mysz opuszcza górną stronę jquery
- 20. TextInputLayout nie pokazuje kiedy View dodał programowo
- 21. Kontroluj obraz facebook pokazuje kiedy jak URL
- 22. Kiedy użytkownik płaci za zakup w aplikacji?
- 23. UISeachBar wykryć, kiedy użytkownik naciśnij przycisk
- 24. Jak możemy wykryć, kiedy użytkownik zamyka przeglądarkę?
- 25. Jak wykryć, kiedy użytkownik aktywnie przewija?
- 26. Wykryj, gdy pasek adresu Chrome na iOS pokazuje
- 27. Wykryj, kiedy element iframe zacznie ładować nowy adres URL.
- 28. Kiedy ładować dane w UITableViewController?
- 29. Kiedy funkcja glVertexPointer() kopiuje dane?
- 30. Symfony2 - wykryj, czy użytkownik znajduje się w bezpiecznej zaporze sieciowej.
na przykład, aby znaleźć obszar okręgu prostu wprowadzając promień w EditText muszę odpowiedzieć poniżej tego pola EditText – user2019287
+1, to jest naprawdę wielki odpowiedź Arash. @lambda: proszę, nie dodawajcie rzeczy na własną rękę. możesz skomentować odpowiedź, a nawet zamieścić osobną odpowiedź, jeśli wiesz, że twoja odpowiedź stworzy różnicę. –