我想找出一种方法来使用我的电子邮件或我的用户名登录到我的 Parse 帐户,但我遇到了一个障碍。
这是代码,
if (username_email.indexOf('@') != -1) {
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("email", username_email);
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (object == null) {
Log.d("score", "The getFirst request failed.");
} else {
String actualUsername = object.get("username");//HERE!!!!!!!!!
ParseUser.logInInBackground(actualUsername, password, new LogInCallback() {
public void done(ParseUser user, ParseException e) {
if (user != null) {
// Hooray! The user is logged in.
Intent intent = new Intent(getBaseContext(), MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
} else {
TextView error = (TextView) findViewById(R.id.error);
error.setVisibility(View.VISIBLE);
error.setText(getString(R.string.error_sign_in));
Log.d("error", "email or password invalid");
}
}
});
}}
});
}
String actualUsername = object.get("username");
显示为 In 兼容类型。
我该如何解决这个问题? 谢谢。
最佳答案
查看Parse文档,有ParseObject::getString(String key)
方法:
https://www.parse.com/docs/android/api/com/parse/ParseObject.html#getString(java.lang.String)
我打赌你应该使用它:
String actualUsername = object.getString("username");
或者像这样进行转换:
String actualUsername = (String) object.get("username");
关于java - 不兼容的类型 - Android,Parse.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32015423/