我怎样才能在两个活动之间琢磨一些东西?

时间:2016-12-05 00:40:07

标签: android

所以我正在创建这个应用程序,我想要这个设置页面的用户可以选择是否要打开或关闭声音如何在第二个活动中引用playound方法?

2 个答案:

答案 0 :(得分:0)

当你提到设置我假设你使用SharedPreferences - 如果不是这样做,因为它是实现settings的标准方法 - 在这种情况下,它很容易这样:

$ printf "$(printf '%s' 033[{0,1}';'3{1..8}{';'4{1..8}mXXX,';'40m=OoO\\033[0m\\n}  )"

答案 1 :(得分:0)

我使用了一个开关按钮'在我的代码中像你一样解决同样的问题。这是一个例子

SharedPreferences pref;    
 SharedPreferences.Editor editor;
 MediaPlayer backgroundmusik;
 Switch mute;
 View dummysetting;

 protected void onCreate(Bundle savedInstanceState)
 {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.checksound_layout);
        //SHARED PREFERENCES
        pref = getSharedPreferences("your_label",MODE_PRIVATE);//label to find in Manifest
        editor = pref.edit();

 backgroundmusik = MediaPlayer.create(this,R.raw.dingdong);
        dummysetting = (View) View.inflate(this, R.layout.setmute_layout,null); //you need that dummy, when u want to check ur button when u are on a different layout other way you get nullpointer.
        mute=(Switch)dummysetting.findViewById(R.id.mute);
        mute.setChecked(pref.getBoolean("Musik", true));//set true or false, its the 'status' when start for the first time after u install app.
        if (mute.isChecked())
        {
            backgroundmusik = MediaPlayer.create(Hauptmenue.this,R.raw.dingdong);
            backgroundmusik.setLooping(true);
            backgroundmusik.start();
        }
}//close oncreat

现在您可以在同一活动中的另一个位置设置静音按钮,如:

     setContentView(dummysetting);

        mute.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked)
                {
                    backgroundmusik = MediaPlayer.create(MAinactivity.this,R.raw.dingdong);
                    backgroundmusik.setLooping(true);
                    backgroundmusik.start();

                    editor.putBoolean("Musik", true);
                    editor.commit();//safe the edit
                }else
                {
                    backgroundmusik.stop();
                    editor.putBoolean("Musik", false);
                    editor.commit();//safe the edit
                }
            }
        });
}//close main.

这只是一个例子。我可以从我的代码中粘贴一些代码。如果不起作用,你可以再问一次。 当您在活动中声明并调用它们时,可以在每个活动中使用AND sharedpreferences。只需要:

 SharedPreferences pref;    
 SharedPreferences.Editor editor;

然后在oncreat上

pref = getSharedPreferences("your_label",MODE_PRIVATE);
editor = pref.edit();

然后当你安全为

editor.putBoolean("**Musik**", true);
editor.commit();//safe the edit

你必须要求" Musik"再次喜欢:

pref.getBoolean("Musik", true)

阅读。