在
android中我有一个像这样定义的文本视图:
但这只是标准的做法.必须有一种方法可以使用反应式rxJava API. @H_403_4@因此,我没有使用带有rxBinding的onClicklistener,而是可以执行以下操作:
<TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" android:textColorHighlight="#000000" android:textIsSelectable="true" />@H_403_4@我的目标是在点击4次之后,我想开始一项新活动.我需要用RXJava做到这一点;这是一项要求.或rxAndroid,rxBinding等 @H_403_4@我的活动如下:
public class MainActivity extends Activity implements onClickListener { TextView tv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView)findViewById(R.id.text1); tv.setOnClickListener(this); } @Override public void onClick(View v) { if(v.getId() == R.id.text1){ } } }@H_403_4@更新:
但这只是标准的做法.必须有一种方法可以使用反应式rxJava API. @H_403_4@因此,我没有使用带有rxBinding的onClicklistener,而是可以执行以下操作:
RxView.clicks(tv).flatMap(tv -> { // another observable which can throw onError. return Observable.error(null); }).subscribe(object -> { Log.d("CLICK","textview clicked",start activity); },error -> { Log.d("CLICK","ERROR"); });@H_403_4@我可以以某种方式使用rxBinding中的命令使其仅在4次点击后执行吗?我不打算存储静态变量,或者使用匿名类并将成员变量存储为count.应该有一个可观察的方法.