ContextMenu исчезло, потому что по умолчанию при вращении андроид вызывает destroy (), а затем onCreate (), но:
Если вы не хотите, чтобы Android проходил нормальный процесс уничтожения и восстановления; вместо этого вы хотите сами обработать воссоздание представлений, вы можете использовать атрибуты android: configChanges для элемента в AndroidManifest.xml.
<activity
android:name=".MainActivity"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden">
</activity>
Таким образом, contextMenu не закрывается при вращении телефона, потому что метод onCreate () не вызывается.
Эта тема также может быть полезна - Перезапуск активности при ротации Android