Mam kilka pól EditText, które chcę zapisać do SQLiteDatabase z setOnFocusChangeListener. Czy muszę ustawić onFocusChangeListener na każdym z osobna, czy też istnieje jakiś rodzaj catch-all? (GetActivity(). FindViewByID ponieważ jest to fragment)EditText setOnFocusChangeListener na wszystkich EditTexts
final TextView txtName = (TextView)getActivity().findViewById(R.id.clientHeader);
final TextView txtCompany = (TextView)getActivity().findViewById(R.id.txtContactCompany);
final TextView txtPosition = (TextView)getActivity().findViewById(R.id.txtContactPosition);
txtName.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "name", txtName.getText().toString());
}
}
});
txtCompany.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "company", txtCompany.getText().toString());
}
}
});
txtPosition.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "position", txtPosition.getText().toString());
}
}
});
Jak ... Czy jest jakiś sposób, aby mieć ArrayList < EditText> z EditText Widoki przypisać wskaźnik (przepraszam, nie wiem jak) do istniejące editTexts i ustawić onFocusChangeListener na całą listę macierzy? Lub, nawet, iterować przez ArrayList i ustawić onFocusChangeListener dla każdego członka?
Albo sposób na wykrycie KAŻDYCH zdarzeń onFocusChangeListener i po prostu zapisanie wszystkich danych w bazie danych, niezależnie od tego, w jaki sposób EditText wystąpił w ogóle?
To jest właściwie metoda, której zamierzam użyć; i na szczęście fragmenty mogą również zaimplementować OnFocusChangedListener! Ostatecznie, mniej kodu. –
Czy to nie 'OnFocusChangeListener' zamiast' OnFocusChange-d-Listener'? (Dodałem Hyphens dla jasności.) Oczywiście nie jest to wielka sprawa, ale zajęło mi to minutę. – Kirk
Mam z tym problem, setOnFocusChangeListener jest przekazywana anonimowej klasy wewnętrznej, jak powinienem zmienić tę część, aby wszystko działało? – k2ibegin