//TODO Introduction
This post assumes some knowledge of how RxJava and lambdas work. If you need more of a refresher RxJava Retrolambda
# Reactive Forms with RxAndroid and TextInputLayout | |
//TODO Introduction | |
*This post assumes some knowledge of how RxJava and lambdas work. If you need more of a refresher [RxJava](https://github.com/ReactiveX/RxJava/wiki) [Retrolambda](https://github.com/orfjackal/retrolambda)* | |
## Setup layout with TextInputLayout | |
# Reactive Forms with RxAndroid and TextInputLayout | |
//TODO Introduction | |
*This post assumes some knowledge of how RxJava and lambdas work. If you need more of a refresher [RxJava](https://github.com/ReactiveX/RxJava/wiki) [Retrolambda](https://github.com/orfjackal/retrolambda)* | |
## Setup layout with TextInputLayout | |
//TODO Introduction
This post assumes some knowledge of how RxJava and lambdas work. If you need more of a refresher RxJava Retrolambda
import json | |
import urllib2 | |
import urllib | |
from flask import Flask | |
from flask import request | |
app = Flask(__name__) | |
post_url = 'https://api.groupme.com/v3/bots/post' | |
bot_id = 'a63fa8c46207f5b791ae25b3f8' |
/** Perform action of waiting for a specific view id. */ | |
public static ViewAction waitForId(final int viewId, final long millis) { | |
return new ViewAction() { | |
@Override | |
public Matcher<View> getConstraints() { | |
return isDisplayed(); | |
} | |
@Override | |
public String getDescription() { |
import datetime | |
from google.appengine.ext import db | |
from random import randint | |
from google.appengine.api import users | |
import json | |
import urllib2 | |
import urllib | |
from flask import Flask | |
from flask import request | |
from threading import Timer |
Observable<Boolean> passwordObservable = Observable.combineLatest( | |
validatePassword(RxViewUtils.text(mPassword)), | |
(RxViewUtils.text(mPasswordConfirm)), | |
(password, confirm) -> password.equals(confirm)); | |
Observable.combineLatest( | |
validateFirstName(RxViewUtils.text(mUsername)), | |
passwordObservable, | |
(username, password) -> username && password |
Observable<Boolean> passwordObservable = Observable.combineLatest( | |
validatePassword(RxViewUtils.text(mPassword)), | |
(RxViewUtils.text(mPasswordConfirm)), | |
(password, confirm) -> password.equals(confirm)); | |
Observable.combineLatest( | |
validateFirstName(RxViewUtils.text(mUsername)), | |
passwordObservable, | |
(username, password) -> username && password |
Observable<Boolean> passwordObservable = Observable.combineLatest( | |
validatePassword(RxViewUtils.text(mPassword)), | |
(RxViewUtils.text(mPasswordConfirm)), | |
(password, confirm) -> password.equals(confirm)); | |
Observable.combineLatest( | |
validateFirstName(RxViewUtils.text(mUsername)), | |
passwordObservable, | |
(username, password) -> username && password |
public class RxValidationActivity extends ActionBarActivity { | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_rx_validation); | |
TextView mInputField = (TextView) findViewById(R.id.input); | |
TextInputLayout mInputLayout = (TextInputLayout) findViewById(R.id.input_layout); |