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
Дуже виручив
Аслан Кашиев Уровень 1
19 апреля 2020
Тоже так сделал, только сначала хотел использовать Id родителя, чтобы уменьшить количество строк кода, но не нашел метод, выводящий ид родителя
rozhkovdmitrii Уровень 0
10 декабря 2017
Прекрасно, с малолетства учим Write Everything Twice! Думаю полезней было бы показать как использовать возможности по повторному использованию макета в Android Studio.