Ad

Switch Case Statement Or Its Alternate If Condition Is Not Working In Android

I as using switch case for a condition check. It is not working. Here how I have implemented.

@Override
public void onReceiveNotification(String notificationType, String message, String flag) {
    super.onReceiveNotification(notificationType, message, flag);
    Log.d("tag", "==onReceive Notivation====1===" + notificationType);
    if (notificationType.equalsIgnoreCase("MULTIPART_TYPES"))
    {
        Log.d("tag", "==onReceive Notivation===2====" + notificationType);
    }
    switch (notificationType) {
        case "MULTIPART_TYPES":
            Log.d("tag", "==onReceive Notivation=======" + message);
            break;
    }
}

this is my Log output

==onReceive Notivation====1=== MULTIPART_TYPES

However it is entering into the method with respected string message. But it is not entering to the either to switch or if conditions.

Ad

Answer

You have a space front of your notificationType. Remove it or add trimming to your check. Something like this.

if (notificationType.trim().equalsIgnoreCase("MULTIPART_TYPES"))
    {
        Log.d("tag", "==onReceive Notivation===2====" + notificationType);
    }
Ad
source: stackoverflow.com
Ad