Я использую оператор switch в представлении адаптера getItemViewType
. Ни один из случаев в операторе Switch в getItemViewType
не вызывается. Я печатаю журнал, и он говорит, что код не выпадает ни одного оператора switch Я не понимаю, где этот код имеет ошибку. Любая помощь будет признательна. Спасибо
@Override
public int getItemViewType(int position) {
Log.d(TAG, "getItemViewType: Type "+wrapper.getMESSAGE_TYPE()); // it return class 12
if (Session.getUserID().equals(wrapper.getOTHER_USER_ID())){
switch (wrapper.getMESSAGE_TYPE()){
case "class 0":
return 0;
case "class 1":
return 1;
case "class 2":
return 2;
case "class 3":
return 3;
case "class 4":
return 4;
case "class 5":
return 5;
case "class 6":
return 6;
case "class 7":
return 7;
case "class 8":
return 8;
case "class 9":
return 9;
case "class 10":
return 10;
case "class 11":
return 11;
case "class 12":
Log.d(TAG, "getItemViewType: 12 "+wrapper.getMESSAGE_TYPE()); // it's not calling
return 12;
}
}else {
switch (wrapper.getMESSAGE_TYPE()){
case "class 0":
return 0;
case "class 1":
return 1
case "class 2":
return 2
case "class 3":
return 3
case "class 4":
return 4
case "class 5":
return 5
case "class 6":
return 6
case "class 7":
return 7
case "class 8":
return 8
case "class 9":
return 9
case "class 10":
return 10
case "class 11":
return 11
case "class 12":
Log.d(TAG, "getItemViewType: 12 "+wrapper.getMESSAGE_TYPE()); // it's not calling either
return 12
}
}
// none of above case called and code then falls into this below code
Log.d(TAG,"End Of Get Item View Type = "+wrapper.getMESSAGE_TYPE()); // its return class 12
boolean checkValue;
if (wrapper.getMESSAGE_TYPE().equals("class 12")){
Log.d(TAG, "getItemViewType:Check "+wrapper.getMESSAGE_TYPE());
checkValue = true;
}else {
Log.d(TAG, "getItemViewType:Check 2nd "+wrapper.getMESSAGE_TYPE());
checkValue = false;
}
Log.d(TAG, "getItemViewType: Check Value ==== "+checkValue); // check value here is true
return super.getItemViewType(position);
}