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
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ę. –