向きが変わったときにアプリがリロードしないようにする方法を知りたいですか?
停止ボタンが押されるまでオーディオサウンドを再生する小さなテストアプリがあります。Android またはシミュレーターを横から縦に変更すると、停止ボタンが機能しません。2 回目のアプリが読み込まれます。向きが変更されたかどうかに関係なく、最初のオカレンスを実行し続けたいです。
Main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.64" android:orientation="horizontal">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stop" />
</LinearLayout>
</LinearLayout>
テスト.java
import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class TestAppActivity extends Activity {
private Button btnDisplay;
private MediaPlayer mediaPlayer;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
mediaPlayer = MediaPlayer.create(this, R.raw.nut);
mediaPlayer.setLooping(true);
((Button)findViewById(R.id.button1)).setOnClickListener( new View.OnClickListener() {
public void onClick(View v) {
mediaPlayer = MediaPlayer.create(LoopBugActivity.this, R.raw.nut);
mediaPlayer.setLooping(true);
mediaPlayer.start();
}
} );
((Button)findViewById(R.id.button2)).setOnClickListener( new View.OnClickListener() {
public void onClick(View v) {
mediaPlayer.stop();
}
} );
}
}