Почему не хочет??

Интерфейс, диалоги, темы, стили, меню
Ответить
Omax
Сообщения: 33
Зарегистрирован: 04 окт 2015, 11:20

Почему не хочет??

Сообщение Omax » 04 окт 2015, 18:28

Код: Выделить всё

package com.andreyomaxboyko.svetofor;

import android.annotation.TargetApi;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    RelativeLayout relativeLayout;
    TextView textView;
    Button buttonYellow;
    Button buttonRed;
    Button buttonGreen;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout);
        textView = (TextView) findViewById(R.id.textView);
        buttonGreen = (Button) findViewById(R.id.buttonGreen);
        buttonRed = (Button) findViewById(R.id.buttonRed);
        buttonYellow = (Button) findViewById(R.id.buttonYellow);


        View.OnClickListener onClickListener = new View.OnClickListener() {
            @TargetApi(Build.VERSION_CODES.M)
            @Override
            public void onClick(View v) {

                switch (textView.getId()) {
                    case R.id.buttonGreen:
                        textView.setText(R.string.green);
                        relativeLayout.setBackgroundColor(getResources().getColor(R.color.greencolor,null));
                        break;
                    case R.id.buttonRed:
                        textView.setText(R.string.red);
                        relativeLayout.setBackgroundColor(getResources().getColor(R.color.redcolor,null));
                        break;
                    case R.id.buttonYellow:
                        textView.setText(R.string.yellow);
                        relativeLayout.setBackgroundColor(getResources().getColor(R.color.yellowColor,null));
                        break;
                }
            }
        };
        buttonGreen.setOnClickListener(onClickListener);
        buttonYellow.setOnClickListener(onClickListener);
        buttonRed.setOnClickListener(onClickListener);








    }
}
при нажатии на кнопку должен меняться цвет экрана и надпись textView
цвета в color созданы..
текстовые в string тоже...

а работать не хочет... хотя зеленая галочка идеального кода..

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Почему не хочет??

Сообщение Mikhail_dev » 04 окт 2015, 19:04

хотя зеленая галочка идеального кода
Это пять! :lol:

У вас в onClick на вход метода передаётся "View v" того элемента, который был нажат. А вы что в switch Добавляете? textView добавляете.

Omax
Сообщения: 33
Зарегистрирован: 04 окт 2015, 11:20

Re: Почему не хочет??

Сообщение Omax » 05 окт 2015, 05:41

вот.... спасибо)) заработало..

у меня студия сама делает public void onClick(View v) , а должно же быть (View View ) или разницы нету?

Ответить