Ad
What 's Wrong In My RxAndroid Code Text View Not Update
This 's my first RxAndroid
. I'm try to solve problem for 3 days.
txHello not update on next()
method. It update after end loop.
Pleas help.
public class MainActivity extends AppCompatActivity {
TextView txHello;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = findViewById(R.id.button);
txHello = findViewById(R.id.hello);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Observable<String> observer = Observable.just("1", "2", "3", "4", "5", "6", "7", "8", "9", "10");
observer.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.computation())
.subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
txHello.setText("------- hello world -------");
txHello.append("\nStart From thread " + Thread.currentThread().getName());
}
@Override
public void onNext(String s) {
txHello.append("\n"+s +" From thread "+ Thread.currentThread().getName());
try {
Thread.sleep(250);
} catch (InterruptedException e) {
Log.e("Thread Sleep", e.getMessage());
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}
});
}
}
Ad
Answer
Thank u very much "KuLdip PaTel" I can solve my problem with intervalRange Operator. Problem is Thread.sleep(). Like u comment.
public class MainActivity extends AppCompatActivity {
TextView txHello;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = findViewById(R.id.button);
txHello = findViewById(R.id.hello);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Observable<Long> obInterval = Observable.intervalRange(0L, 10, 0, 500, TimeUnit.MILLISECONDS);
obInterval.subscribeOn(Schedulers.computation())
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe(id -> {
txHello.setText("------- hello world -------");
})
.doOnNext(id -> {
txHello.append("\n" + id + " Run From thread " + Thread.currentThread()
.getName());
})
.doOnComplete(() -> {
txHello.append("------- ending process -------");
})
.subscribe();
}
});
}
}
Ad
source: stackoverflow.com
Related Questions
- → should I choose reactjs+f7 or f7+vue.js?
- → Phonegap Android write to sd card
- → Local reference jquery script in nanohttpd (Android)
- → Click to navigate on mobile devices
- → How to allow api access to android or ios app only(laravel)?
- → Access the Camera and CameraRoll on Android using React Native?
- → React native change listening port
- → What is the default unit of style in React Native?
- → Google play market autocomplete icon
- → Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of `ListView`
- → Using Laravel with Genymotion
- → react native using like web-based ajax function
- → react native pdf View
Ad