Как сохранить функцию (например, настройку типа SFX или Music) на всех страницах в Android Studio? - PullRequest
0 голосов
/ 29 сентября 2018

Мне интересно, как сохранить функцию на всех страницах при переключении между ними в Android Studio.

Я пытаюсь создать фальшивое приложение для игры в кости, в котором я хочу, чтобы параметр оставался в приложении, пока я не выключу его.

Текущий код страницы, на которой я хочу сохранить настройки:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


public void showToast(View view) {
    Toast toast = Toast.makeText(this, "You've switched a switch", Toast.LENGTH_SHORT);
    toast.show();
}


public void changeHomeScreen(View view) {
    startActivity(new Intent(getApplicationContext(), HomeScreen.class));
}
public void trollMode (View view){
    Switch s = findViewById(R.id.switch3);
    ImageView i = findViewById(R.id.imageView2);
    Button a = findViewById(R.id.button4);
    Button b = findViewById(R.id.button7);
    Button c = findViewById(R.id.button8);
    Button d = findViewById(R.id.button9);
    Button e = findViewById(R.id.button10);
    Button f = findViewById(R.id.button11);

    a.setVisibility(View.INVISIBLE);
    b.setVisibility(View.INVISIBLE);
    c.setVisibility(View.INVISIBLE);
    d.setVisibility(View.INVISIBLE);
    e.setVisibility(View.INVISIBLE);
    f.setVisibility(View.INVISIBLE);
    if (s.isChecked()){
        i.setImageResource(R.drawable.trollface);
        Toast toast = Toast.makeText(this, "You have ENABLED Troll Mode!", Toast.LENGTH_SHORT);
        toast.show();
        MediaPlayer myAudio = MediaPlayer.create(MainActivity.this, R.raw.evillaugh);
        myAudio.start();
    } else {
        i.setImageResource(R.drawable.dices);
        Toast toast = Toast.makeText(this, "You have DISABLED Troll Mode", Toast.LENGTH_SHORT);
        toast.show();
    }
 }
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


public void showToast(View view) {
    Toast toast = Toast.makeText(this, "You've switched a switch", Toast.LENGTH_SHORT);
    toast.show();
}


public void changeHomeScreen(View view) {
    startActivity(new Intent(getApplicationContext(), HomeScreen.class));
}
public void trollMode (View view){
    Switch s = findViewById(R.id.switch3);
    ImageView i = findViewById(R.id.imageView2);
    Button a = findViewById(R.id.button4);
    Button b = findViewById(R.id.button7);
    Button c = findViewById(R.id.button8);
    Button d = findViewById(R.id.button9);
    Button e = findViewById(R.id.button10);
    Button f = findViewById(R.id.button11);

    a.setVisibility(View.INVISIBLE);
    b.setVisibility(View.INVISIBLE);
    c.setVisibility(View.INVISIBLE);
    d.setVisibility(View.INVISIBLE);
    e.setVisibility(View.INVISIBLE);
    f.setVisibility(View.INVISIBLE);
    if (s.isChecked()){
        i.setImageResource(R.drawable.trollface);
        Toast toast = Toast.makeText(this, "You have ENABLED Troll Mode!", Toast.LENGTH_SHORT);
        toast.show();
        MediaPlayer myAudio = MediaPlayer.create(MainActivity.this, R.raw.evillaugh);
        myAudio.start();
    } else {
        i.setImageResource(R.drawable.dices);
        Toast toast = Toast.makeText(this, "You have DISABLED Troll Mode", Toast.LENGTH_SHORT);
        toast.show();
   }
 }

}

Это для переключателя под названием «Режим тролля», который мой методназывается.Я хочу, чтобы, когда он включен, чтобы кнопки появлялись, а затем, когда вы нажимаете эти кнопки, я хочу, чтобы он перенаправлял вас на мою домашнюю страницу.Когда вы бросаете кубики на домашней странице, когда включен режим тролля, он будет показывать только выбранный вами номер и ничего больше, пока вы не отключите режим тролля.

Если кому-то понадобится дополнительная информация о проблеме, я буду рад предоставить вам то, что вам нужно, в меру своих возможностей.

1 Ответ

0 голосов
/ 29 сентября 2018

Я пытаюсь создать фальшивое приложение для игры в кости, в котором я хочу, чтобы параметр оставался в приложении, пока я не выключу его.

Сохраните настройку, используя SharedPreferences .

См. учебную документацию для руководства по использованию SharedPreferences.

А если вы хотите предоставить настройку пользователю, используйте PreferenceFragment .

...