Привет, друзья stackoverflow. У меня есть музыка для плеера, и я звоню в oncreate playSong (id) (id - это индекс массива, который имеет путь в этом индексе массива. Но есть такая проблема, что при повороте экрана затем снова и снова воспроизводятся пьесы из первого индекса в массиве.Я думаю, потому что метод oncreate вызывается после каждого поворота времени. Также я хочу, чтобы мое приложение предотвращало вращение. Возможно, это событие имеет плохой эффект в других activity.too, Как я могу исправить эти проблемы?Как предотвратить вызов метода oncreate системой, когда происходит экранирование вращения?
2
A
ответ
2
Вы можете использовать
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
или
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
, чтобы зафиксировать ориентацию. Потому что, как вы упомянули, onCreate
вызывается каждый раз, когда экран вращается.
Но вы должны назвать его перед setContentView(R.layout.main)
может выглядеть следующим образом:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.main);
}
2
вы можете сделать, как это android:configChanges="orientation|keyboardHidden|screenSize"
надеюсь, что это поможет вам
добавить его проявляться следующим образом в качестве примера
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:configChanges="orientation|screenSize|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
1
Вы можете добавить андроида: configChanges = «ориентацию» на активность метки на AndroidManifest.xml. Попробуй.
0
Вы можете добавить android: configChanges = "orientation | screenSize" в тег активности на AndroidManifest.xml. Это будет полезно.
но у меня много активности, и я уверен, что это событие происходит у них. – sarah
Вы хотите его только в одном мероприятии? – Fraggles
Я не понимаю, почему oncreate() снова напомнить? Я хочу понять это. и я не уверен, что эти события неэффективны в моей активности. Такие, как активность, которая имеет источник данных и список или другие вещи, когда есть в oncreate(). – sarah