我在我的android项目中使用RX库,由于某些原因,我需要将 build.gradle 作为:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.urjapawar.bevyotp"
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
jackOptions {
enabled true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'io.reactivex:rxandroid:0.24.0'
}
我已访问过this和this too,但无法修复此问题。我的项目代码是 的 RegisterActivity.java
public class RegisterActivity extends AppCompatActivity {
EditText name,email,phonenumber,city;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
name = (EditText) findViewById(R.id.nameinput);
email = (EditText) findViewById(R.id.emailinput);
phonenumber = (EditText) findViewById(R.id.phonenumber);
city = (EditText) findViewById(R.id.cityName);
final Pattern emailPattern = Pattern.compile(
"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
Observable<Boolean> userNameValid = WidgetObservable.text(name) // [2]
.map(e -> e.text())
.map(t -> t.length() != 0);
Observable<Boolean> emailValid = WidgetObservable.text(email)
.map(e -> e.text())
.map(t -> emailPattern.matcher(t).matches());
Button registerButton = (Button) findViewById(R.id.button3);
Observable<Boolean> registerEnabled =
Observable.combineLatest(userNameValid, emailValid, (a, b) -> a && b);
// registerEnabled.subscribe(enabled -> registerButton.setEnabled(enabled));
emailValid.distinctUntilChanged()
.doOnNext(b -> Log.d("[Rx]", "Email " + (b ? "Valid" : "Invalid")))
.map(b -> b ? Color.BLACK : Color.RED)
.subscribe(color -> email.setTextColor(color));
userNameValid.distinctUntilChanged()
.doOnNext(b -> Log.d("[Rx]", "Uname " + (b ? "Valid" : "Invalid")))
.map(b -> b ? Color.BLACK : Color.RED)
.subscribe(color -> name.setTextColor(color));
// and registerEnabled
registerEnabled.distinctUntilChanged()
.doOnNext(b -> Log.d("[Rx]", "Button " + (b ? "Enabled" : "Disabled")))
.subscribe(enabled -> registerButton.setEnabled(enabled));
}
public void OTPbutton(View view){
startActivity(new Intent(RegisterActivity.this, ChooseActivity.class));
}
}
提前致谢
答案 0 :(得分:7)
由于错误声明您已更改buildToolsVersion
buildToolsVersion "23.0.3"
到
buildToolsVersion "24rc3"
这个。
或
buildToolsVersion = "24.0.0 rc1"
这个。
答案 1 :(得分:0)
现在你最好使用
buildToolsVersion = "24.0.0"