ho usato rxandroid per il funzionamento di rimbalzo su una ricerca EditTexteventi TextView RxAndroid chiamato automaticamente prima di eventi di modifica del testo
ho usato
private void setUpText() {
_mSubscription = RxTextView.textChangeEvents(searchStation)//
.debounce(500, TimeUnit.MILLISECONDS)// default Scheduler is Computation
.observeOn(AndroidSchedulers.mainThread())//
.subscribe(getOps().getdata());
}
e osservatore come
public Observer<TextViewTextChangeEvent> getdata()
{
return new Observer<TextViewTextChangeEvent>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
@Override
public void onNext(TextViewTextChangeEvent onTextChangeEvent) {
// stationsugession(onTextChangeEvent.text().toString());
//here i called link to get the data from the server
}
};
}
Il mio problema è il link viene chiamato anche prima che si verifichino cambiamenti di edittext. E non chiama gli eventi textchange. Mi manca qualcosa Cosa sto facendo di sbagliato qui. Sono nuovo di rxandroid e rxjava.
ho usato
compile 'io.reactivex:rxandroid:1.1.0'
compile 'io.reactivex:rxjava:1.1.0'
compile 'com.jakewharton.rxbinding:rxbinding:0.2.0'
EDIT:
Ora funziona ora, mi è stato sempre un puntatore nullo nella mia logica per la lista di ottenere .. quando ho usato il metodo onError e mettere un Stacktrace ho trovato il problema.
E se si desidera saltare la chiamata iniziale, è necessario chiamare .skip (1) all'oggetto di abbonamento. [Grazie a Daniel Lew]
Il codice precedente funziona perfettamente ora
Qual è il contenuto del TextViewChangeEvent? –
TextViewTextChangeEvent è una classe all'interno di com.jakewharton.rxbinding: rxbinding per ottenere eventi di edittext suppongo che sia –
lo so. Cosa viene restituito quando si chiama 'onTextChangeEvent.text()' e si registra il risultato? –