Определить, какая кнопка нажата

у меня есть 3 кнопки на моей странице: красный, синий и зеленый как я могу определить, какая кнопка нажата я хочу использовать цвет фона для следующей страницы (красный, синий или зеленый) это мой код на главной странице:

public void color(View view) {
    Intent color= new Intent(this, colorPage.class);
    Click(view);
    String What_color = view.toString();
    color .putExtra("What_color",What_color);
    startActivity(colorPage);
}

private void Click(View view1) {
    int id = view1.getId();
        }

}

и это мой код в colorPage:

Bundle What_color = getIntent().getExtras();
    if (What_color != null) {
        String mycol = What_color.getString("What_color");
        TextView result = (TextView) findViewById(R.id.tResult);
        result.setText(mycol);
    }

я вижу в textView этот код: android.support.v7.widget.AppCompatButton {366bb1b VFED..C. ... P .... 0,0-728,114 # 7f070023 приложение: id / красный

или этот код: ndroid.support.v7.widget.AppCompatButton {366bb1b VFED..C. ... P .... 0,0-728,114 # 7f070023 приложение: id / Синий

пожалуйста, помогите мне

Прошло некоторое время, но разве вы не можете определить функции onClick для каждой кнопки специально в Android Studio? developer.android.com/reference/android/widget/Button

WhiteMaple 10.08.2018 09:56
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
1
79
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Добавьте слушателя к каждой кнопке с их идентификатором.

Button buttonOne = (Button) findViewById(R.id.YOURBUTTONID);
buttonOne.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
            //Do change the color.
    }
});

//This code changing background on your activity but You have to give color as a hexadecimal 
public void setActivityBackgroundColor(int color) {
    View view = this.getWindow().getDecorView();
    view.setBackgroundColor(color);
}
Ответ принят как подходящий
    you can create a global string like 

    String detectBtnStr = "";


    private void Click(View view1) {
        int id = view1.getId();

    switch(id){

    case: R.id.red_btn:
    detectBtnStr = "red";
    break;

    case: R.id.blue_btn:
    detectBtnStr = "blue";
    break;


    case: R.id.green_btn:
    detectBtnStr = "green";
    break;
    }

            }


and when come back then check with detectBtnStr like


 if (detectBtnStr.equals("red")) {
            // do your code}
        else if (detectBtnStr.equals("blue")) {
                // do your code
            }
            else if (detectBtnStr.equals("green")){
            // do your code
            }

Надеюсь, что это поможет вам.

Другие вопросы по теме