2Ra66it
@2Ra66it

Как заблокировать кнопку, и сделать доступной когда пользователь наберет определенное кол-во очков?

В общем имеются кнопки, которые запускают определенный уровень, как сделать так, что бы 2 уровень (2 кнопка) разблокировалась тогда, когда пользователь наберет определенное кол-во очков на 1 уровне. Дайте подсказку, я просто новичок в Android разработке!

public class CategoryActivity extends ActionBarActivity {


    private Toolbar toolbar;
    private DatabaseHandler databaseHandler;

    private Button btn1;
    private Button btn2;


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



        toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle("Choose Category");
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
                overridePendingTransition(R.anim.animation_enter, R.anim.animation_leave);
            }
        });


        btn1 = (Button) findViewById(R.id.button1);
        btn1.setText("Marvel".toString());
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(CategoryActivity.this, BeginTestActivity.class);
                Bundle b = new Bundle();
                databaseHandler = new DatabaseHandler(btn1.getContext());
                b.putString("category", btn1getText().toString());
                if (databaseHandler.getScoreForCategory(btn1.getText().toString()) != null) {
                    b.putString("best_score", databaseHandler.getScoreForCategory(btn1.getText().toString()).getScore());
                } else {
                    b.putString("best_score", "0");
                }
                intent.putExtras(b);
                startActivity(intent);
                overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);


            }
        });



        btn2 = (Button) findViewById(R.id.button2);
        btn2.setText("DC".toString());
        //btn2.setEnabled(false);
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                btnDC.setEnabled(false);
                Intent intent = new Intent(CategoryActivity.this, BeginTestActivity.class);
                Bundle b = new Bundle();
                databaseHandler = new DatabaseHandler(btnDC.getContext());
                b.putString("category", btn2.getText().toString());
                if (databaseHandler.getScoreForCategory(btn2.getText().toString()) != null) {
                    b.putString("best_score", databaseHandler.getScoreForCategory(btn2getText().toString()).getScore());
                } else {
                    b.putString("best_score", "0");
                }
                intent.putExtras(b);
                startActivity(intent);
                overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);

            }
        });


    }



    @Override
    public void onBackPressed() {
        super.onBackPressed();
        overridePendingTransition(R.anim.animation_enter, R.anim.animation_leave);
    }

    @Override
    protected void onPause() {
        super.onPause();

    }
}
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 2
@onepavel
Консультация и разработка мобильных приложений
для чего ты используешь эту строчку btn2.setEnabled(false); ?
Ответ написан
Rou1997
@Rou1997
Привет!
Очевидно же, нужно из первого уровня "выкидывать" пользователя обратно в CategoryActivity, при этом передавать ей информацию о прохождении первого уровня, можете поступить "тупо", то есть просто открывать ее также через Intent, но следует позаботиться о том, чтобы старые экземпляры Activity удалялись из ОЗУ и нельзя было на них вернуться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы