Почему кнопки не переходят к следующему действию - PullRequest
0 голосов
/ 20 июня 2020

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

public class ScheduleActivity extends AppCompatActivity implements View.OnClickListener {
    private Button mondayButton,tuesdayButton,wednesdayButton,thursdayButton,fridayButton,saturdayButton,sundayButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_schedule);
        mondayButton = findViewById(R.id.monday_button);
        tuesdayButton = findViewById(R.id.tuesday_button);
        wednesdayButton = findViewById(R.id.wednesday_button);
        thursdayButton = findViewById(R.id.thursday_button);
        fridayButton = findViewById(R.id.friday_button);
        saturdayButton = findViewById(R.id.saturday_button);
        sundayButton = findViewById(R.id.sunday_button);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.monday_button:
                Intent monday_intent = new Intent(ScheduleActivity.this, MondayActivity.class);
                startActivity(monday_intent);
                break;
            case R.id.tuesday_button:
                Intent tuesday_intent = new Intent(ScheduleActivity.this, TuesdayActivity.class);
                startActivity(tuesday_intent);
                break;
            case R.id.wednesday_button:
                Intent wednesday_intent = new Intent(ScheduleActivity.this, WednesdayActivity.class);
                startActivity(wednesday_intent);
                break;
            case R.id.thursday_button:
                Intent thursday_intent = new Intent(ScheduleActivity.this, ThursdayActivity.class);
                startActivity(thursday_intent);
                break;
            case R.id.friday_button:
                Intent friday_intent = new Intent(ScheduleActivity.this, FridayActivity.class);
                startActivity(friday_intent);
                break;
            case R.id.saturday_button:
                Intent saturday_intent = new Intent(ScheduleActivity.this, SaturdayActivity.class);
                startActivity(saturday_intent);
            case R.id.sunday_button:
                Intent sunday_intent = new Intent(ScheduleActivity.this, SundayActivity.class);
                startActivity(sunday_intent);
        }
    }
}

Ответы [ 3 ]

1 голос
/ 20 июня 2020

вы не прикрепляете слушателя View.OnClickListener ни к одной из ваших кнопок. добавьте это в свой onCreate() после того, как вы инициализируете свои кнопки, ваши кнопки будут работать

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_schedule);
        ...
        sundayButton = findViewById(R.id.sunday_button);

        // attaching listeners
        mondayButton.setOnClickListener(this);
        tuesdayButton.setOnClickListener(this);
        wednesdayButton.setOnClickListener(this);
        thursdayButton.setOnClickListener(this);
        fridayButton.setOnClickListener(this);
        saturdayButton.setOnClickListener(this);
        sundayButton.setOnClickListener(this);
   }
1 голос
/ 20 июня 2020

Вы должны установить view.setOnClickListener {} в методе OnCreate

private Button mondayButton, tuesdayButton, wednesdayButton, thursdayButton, fridayButton, saturdayButton, sundayButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_schedule);
    mondayButton = findViewById(R.id.monday_button);
    tuesdayButton = findViewById(R.id.tuesday_button);
    wednesdayButton = findViewById(R.id.wednesday_button);
    thursdayButton = findViewById(R.id.thursday_button);
    fridayButton = findViewById(R.id.friday_button);
    saturdayButton = findViewById(R.id.saturday_button);
    sundayButton = findViewById(R.id.sunday_button);


    mondayButton.setOnClickListener() {
    Intent intent = new Intent(...) ;
    startActivity(intent) ;
   } 
}
1 голос
/ 20 июня 2020

Вы получаете экземпляры кнопок, но никогда не устанавливаете для них OnClickListener. Вам необходимо установить прослушиватель кликов для кнопок:

mondayButton.setOnClickListener(this)

Вам нужно сделать это для всех кнопок, это сообщает вашему коду, где уведомлять о событии при нажатии кнопки.

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