Android RxAndroid使用
2204 ワード
に頼る
RxAndroidはオブザーバー、購読者モードです
簡単な任務をして、ボタンをクリックして、データは絶えず増加して、同期して2つのテキストの上で表示します
これを見ると、例えばlistviewが浮遊し、一般的には外部のビューに状態の変化があれば、内部のビューにも同じ状態の変化があるべきで、このように内外部のビューの切り替え時に、効果を同期することができ、
これにより、変更するビューイベント(クリック効果やデータの更新など)にイベントのパブリケーションを追加し、listviewのhenadviewビューと外部に隠されたビューを同期更新することができる.
compile 'io.reactivex:rxjava:1.1.0'
compile 'io.reactivex:rxandroid:1.1.0+'
RxAndroidはオブザーバー、購読者モードです
簡単な任務をして、ボタンをクリックして、データは絶えず増加して、同期して2つのテキストの上で表示します
package com.example.administrator.retrofitandrxandroid;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import rx.Observable;
import rx.Subscriber;
import rx.Subscription;
public class Main2Activity extends Activity {
private static final String TAG = "tag";
Observable observable;
Subscriber subscriber;
TextView text1;
TextView text2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
text1 = (TextView) findViewById(R.id.textView);
text2 = (TextView) findViewById(R.id.textView2);
subscriber = new Subscriber() {
@Override
public void onCompleted() {
Log.e("tag", "testFirst:onCompleted");
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(String s) {
Log.v(TAG, "onNext:" + s);
text1.setText(s);
text2.setText(s);
}
};
}
int index = 0;
public void add(View v){
index++;
observable= Observable.create(new Observable.OnSubscribe() {
@Override
public void call(Subscriber super String> subscriber) {
subscriber.onNext(index + "");
subscriber.onCompleted();
}
});
observable.subscribe(subscriber);
}
}
これを見ると、例えばlistviewが浮遊し、一般的には外部のビューに状態の変化があれば、内部のビューにも同じ状態の変化があるべきで、このように内外部のビューの切り替え時に、効果を同期することができ、
これにより、変更するビューイベント(クリック効果やデータの更新など)にイベントのパブリケーションを追加し、listviewのhenadviewビューと外部に隠されたビューを同期更新することができる.