#android #if-statement #retrofit #response
#Android #if-statement #модернизация #ответ
Вопрос:
я пытаюсь сравнить два значения с инструкцией if, когда одно значение получают с сервера с помощью дооснащения, а другое значение получают из другого фрагмента, если используется внешний оператор if, тогда отображаются оба значения переменных, но если я попытаюсь сравнить эти значения с инструкцией if, это не сработает. Оба значения одинаковы, но компилятор переходит к другой части, что я делаю
public void getUserProfileData() {
progressBar.setVisibility(View.VISIBLE);
Api.getClient().getUserProfile(MainActivity.userId, new Callback<UserProfileResponse>() {
@Override
public void success(UserProfileResponse userProfileResponse, Response response) {
progressBar.setVisibility(View.GONE);
userEmail=userProfileResponse.getEmail();
String s = "";
if (!userProfileResponse.getLandmark().equalsIgnoreCase("")) {
s = ", " userProfileResponse.getLandmark();
}
if (userProfileResponse.getFlat().equalsIgnoreCase("")) {
addressCheckBox.setChecked(false);
addressCheckBox.setVisibility(View.GONE);
fillAddress.setVisibility(View.VISIBLE);
}else {
address = userProfileResponse.getName()
", "
userProfileResponse.getFlat()
s
", " userProfileResponse.getLocality()
", " userProfileResponse.getCity()
", " userProfileResponse.getState()
", " userProfileResponse.getPincode()
"n" userProfileResponse.getMobile();
addressCheckBox.setText(address);
mobileNo = userProfileResponse.getMobile();
pinCompare = userProfileResponse.getPincode();
//Toast.makeText(getActivity(), pincode pinCompare, Toast.LENGTH_SHORT).show();
if(pincode.equals(pinCompare)){ //is it correct code?
Toast.makeText(getActivity(), "correct", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(getActivity(), "failed", Toast.LENGTH_SHORT).show();
}
}
}
Комментарии:
1. Используйте equalsIgnoreCase вместо equals
Ответ №1:
внесите некоторые изменения в этот код..
if (pincode !=null amp;amp; pinCompare!=null){
if(pincode.equals(pinCompare)){ //is it correct code?
Toast.makeText(getActivity(), "correct", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(getActivity(), "failed", Toast.LENGTH_SHORT).show();
}else { //do somthing }
}
Комментарии:
1. Вы можете пропустить
pinCompare != null
;equals
обрабатываетnull
параметр.2. здесь хорошо пропущен и обновлен код, тот же запрос для этого, значение pincode и pin compareв этом фрагменте одинаковы, но в метод equals теперь не вводится соответствие, пока тост снова не покажет «сбой», я не могу понять, что я делаю..
3. в ответ вы получаете vale pin compareесли возможно, у него есть некоторое время null. в противном случае вы можете удалить условие if.
4. @ Infusion Analytics, итак, если я удалю оператор if, то какое условие я использую, как сравнить значение пинкода и значение пинкомпара.