需要帮助以使我的“播放”按钮将用户发送到当前级别

问题描述 投票:0回答:1

我对应用程序开发非常陌生(四天后),我正在创建具有各个级别的逻辑数学游戏。 Level1正在发送具有字符串值“ 1”的SharedPreferences密钥“ currentlevel”。我下面的代码有效,如果我已经击败了Level1,则“播放”按钮会将我发送到Level2。

我的问题是,我必须双击“播放”按钮,而不是通常的单击。我怀疑它是因为我有2个View.OnClickListeners,但是删除其中之一会使它根本无法工作。非常感谢您对解决此问题的任何帮助。

    Button button1 = (Button) findViewById(R.id.playbutton);
  final Button button3 = (Button) findViewById(R.id.playbutton);

        SharedPreferences result = getSharedPreferences("level", MODE_PRIVATE);
        final String current = result.getString("currentlevel", "0");

            button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                button3.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {




                        Intent play2 = new Intent(MainActivity.this, Level2.class);
                        Intent play1 = new Intent(MainActivity.this, Level1.class);


                        if (current == "1")
                            startActivity(play2);

                        else if (current == "0")
                            startActivity(play1);

                    }
                });
            }});

if-statement android-intent conditional-statements onclicklistener
1个回答
0
投票

没关系,我只是通过重新排列条件来使它起作用。如果其他人遇到类似的问题,请在下面发布代码:

final Button button3 = (Button) findViewById(R.id.playbutton);
        final SharedPreferences sharedPref = getSharedPreferences("level", MODE_PRIVATE);
        final String current = sharedPref.getString("currentlevel", "sick");


        if(current == ("sicks"))
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                        Intent play2 = new Intent(MainActivity.this, Level2.class);
                            startActivity(play2);
            }});

                 else if(current == ("sick"))
                button3.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {


                            Intent play1 = new Intent(MainActivity.this, Level1.class);
                        startActivity(play1);
                        }

                });
© www.soinside.com 2019 - 2024. All rights reserved.