Как я могу изменить эту логическую переменную с False на True? - PullRequest
0 голосов
/ 30 марта 2020

У меня есть логическая переменная приватного поля для моего основного действия, которая имеет значение False:

private boolean accountCreated = false;

Когда учетная запись создана, я установил ее значение true:

        createAccountButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            name = nameInput.getText().toString();
            username = usernameInput.getText().toString();
            age = Integer.parseInt(ageInput.getText().toString());
            saveData();
            openMainMenuActivity();
            accountCreated = true;
        }
    });

но логическое значение не меняется с ложного на истинное. Приведенный выше код находится внутри класса MainActivity. java и внутри метода publi c void. Я хочу, чтобы это логическое значение изменилось, потому что если false, пользователь не может играть, если true, пользователь сможет играть.

Ответы [ 3 ]

0 голосов
/ 31 марта 2020

openMainMenuActivity() метод должен работать таким образом

Intent i = new Intent(CurrentActivity.this, MainMenuActivity.class);
            i.putExtra("isAccountCreated", accountCreated);
            startActivity(i);

А в OtherActivity просто должен выглядеть так

public class MainMenuActivity extends AppCompatActivity {

boolean aDifferentAccountCreatedBoolean;


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

        aDifferentAccountCreatedBoolean = getIntent().getBooleanExtra("isAccountCreated", false);
        //Do stuff


    }

}

0 голосов
/ 31 марта 2020

Похоже, что openMainMenuActivity(); сбрасывал значение логического 1003 *. Вместо использования openMainMenuActivity(); я выбрал всплывающее окно, в котором говорилось, что учетная запись была успешно создана, и просто закрывал его, когда пользователь нажимает X , возвращаясь к логическим значениям openMainMenuActivity(); и . значение не сброшено. Это заставило меня работать. Спасибо всем за ваши ответы!

0 голосов
/ 30 марта 2020

Полагаю, вы пытаетесь продолжить свою игру методом openMainMenuActivity(), поэтому попробуйте переместить accountCreated = true; до openMainMenuActivity();

В противном случае трудно сказать, не предоставив больше кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...