JavaRush /Курсы /Курс "Программирование под Андроид" /Добавляем вторую команду — код Java

Добавляем вторую команду — код Java

Курс "Программирование под Андроид"
7 уровень , 27 лекция
Открыта

Шаг 1: Добавляем код для вывода на экран.

Вставьте следующий метод в файл MainActivity.java:

/**
* Displays the given score for Team B.
*/
public void displayForTeamB(int score) {
 TextView scoreView = (TextView) findViewById(R.id.team_b_score);
 scoreView.setText(String.valueOf(score));
}

Шаг 2: Присваиваем правильный идентификатор.

Используя атрибут id, присвойте TextView-элементу для счёта второй команды идентификатор team_b_score:

android:id="@+id/team_b_score"

Теперь можно использовать код метода displayForTeamB (показать счет для команды B), чтоб выводить на экран счёт второй команды в TextView с идентификатором team_b_score (счет команды B). Например displayForTeamB(12) отобразит на экране 12.

Комментарии (12)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Александр Уровень 18
6 июля 2021
забегая наперёд, нет смысла плодить 6 методов нажатия кнопок, которые, по сути делают одно и то же. Достаточно через оператор выборы switch-case определять id кнопки, которая была нажата, и увеличивать соответствующую переменную.

    public void addScore(View view) {
        String id = getResources().getResourceEntryName(view.getId()); //определяем id кнопки
        
        switch (id) {
            case "team_a_3p_button": //учитывая какая кнопка была нажата, увеличиваем счёт команды А или В
                scoreA += 3;
                break;
            case "team_a_2p_button":
                scoreA += 2;
                break;
            case "team_a_1p_button":
                scoreA++;
                break;
            case "team_b_3p_button":
                scoreB += 3;
                break;
            case "team_b_2p_button":
                scoreB += 2;
                break;
            case "team_b_1p_button":
                scoreB++;
                break;
        }
        
        displayForTeamA(scoreA); //выводим счёт
        displayForTeamB(scoreB);
    }
при этом все кнопки, кроме reset, имеют атрибут

android:onClick="addScore"
Jack Daniel Уровень 28
9 ноября 2021
красавец
Hokkaido Уровень 2
22 апреля 2024
Инкримент должен быть префиксный: ++scoreB; а не постфиксный scoreB++; ибо после первого нажатия ничего не произойдет.
N1kson Уровень 3
4 декабря 2020
То есть можно либо ("" + number), либо (String.valueOf(number)) Разницы нет
bighugеmistеr Уровень 15
7 января 2022
я делал так:

Integer.toString(number);
🦔 Виктор Уровень 20 Expert
30 ноября 2020
1. Через атрибут кнопки onClick в разметке удобно по alt + enter сразу методы генерить. 2. Второй переменной для подсчёта очков команды Б будет достаточно, не вижу смысла городить больше. 3. По щелчку будут вызываться метода с соответствующим кол-вом очков в параметрах. 4. Всё получится!
Александр Уровень 14
28 августа 2019
И много много чего еще можно..это так мысли вслух :) MainActivity.java activity_main.xml
Khodyachaya Entsiklopedia Уровень 28
7 февраля 2018
чтоб не прописывать методы для кнопок команды B, добавил id кнопкам команды А ("@+id/aTeamPlus3" и т.п.) и дописал методы с if/else:

public  void threePoints(View view){
        if (view.getId()==R.id.aTeamPlus3){
                scoreForTeamA+=POINTS_FOR_3_POINTS_SHOT;
                displayForTeamA(scoreForTeamA);}
        else{
                scoreForTeamB+=POINTS_FOR_3_POINTS_SHOT;
                displayForTeamB(scoreForTeamB);
        }
           }
Vasili666 Уровень 23
13 марта 2018
Ваш метод, конечно же лучше. Однако для тех, кто только начинает свой путь в Java/ Ваш метод просто набор символов.
Marshall_Mothers_III Уровень 6
18 августа 2018
Дуже виручив
Аслан Кашиев Уровень 22
19 апреля 2020
Тоже так сделал, только сначала хотел использовать Id родителя, чтобы уменьшить количество строк кода, но не нашел метод, выводящий ид родителя
rozhkovdmitrii Уровень 0
10 декабря 2017
Прекрасно, с малолетства учим Write Everything Twice! Думаю полезней было бы показать как использовать возможности по повторному использованию макета в Android Studio.