2

希望する共有設定にチェックボックスがあります: チェックボックスが true の場合、この曲は で再生されますactivity1。リスト項目を開くときはちょうど startactivity1です。そしてactivity1、 sharepreferences をチェックして song を再生するクラスがあるので、次のようになります。

すべてのリスト項目を開くと、曲を再生し、すべてのリスト項目を開くと多くの曲を再生します。このアクティビティで 1 曲だけ演奏する方法。

それはすべてのリスト項目に対して呼び出されます:

protected void All()
{
    boolean music = sharedpreferences.getBoolean("musictype", false);
    if (music) { mp1.start(); } else { mp1.stop();}      
}                           
4

1 に答える 1

0
public class Activity1 extends Activity {
    boolean hasPlayed;
    boolean shouldPlayMusic;

    public void onCreate(Bundle savedInstanceState) {
        hasPlayed = false;
        SharedPreferences prefs = PreferenceManager.getDefaultSharePreferences();
        shouldPlayMusic = prefs.getBoolean("musictype", false);
        //other initialization
    }

    protected void All() {
        if(shouldPlayMusic && !hasPlayed) {
            //Should check state of MediaPlayer too
            mp1.start();
            hasPlayed = true;
        }
    }
}

基本的にはそのようなものです。一度プレイしたことがあるかどうかのブールフラグを保持し、プレイする前にそれと設定値を確認してください。再生したら、それ以上再生されないようにフラグを設定します。

于 2012-10-19T20:46:47.177 に答える