@Axeles
Нечего тут пока писать

Возможно ли с помощью Enum сделать переключение Layout разными цветами?

Всем доброго времени суток. У меня есть такая задача. Мне необходимо при нажатии на экран смартфона сделать так что бы цвет Layout'а изменялся... Я Решил эту задачу но теперь начал изучать enum (перечисления) и загорелся таким вопросом. А можно ли с помощью Enum сделать переключение Layout разными цветами. И что то ни как не могу понять как это сделать. Можете ли вы указать что я делаю не так. Где что почитать что бы решить эту проблему.
package com.example.screern;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;

enum Colors {
	Red, Blue, Yellow;
}

public class MainActivity extends Activity implements OnClickListener{
	
	LinearLayout linearLayout1;
	

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
                
        linearLayout1 = (LinearLayout)findViewById(R.id.LinearLayout1);
        linearLayout1.setOnClickListener(this);
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

	@Override
	public void onClick(View v) {
		Colors color;
		color = Colors.Red;
		color = Colors.Yellow;
		switch (color) {
		case Red:
			linearLayout1.setBackgroundColor(Color.RED);
			break;			
		case Yellow:
			linearLayout1.setBackgroundColor(Color.YELLOW);
			break;
		default:
			break;
		}
		
	}
}

Прилагаю код возможно кто то подскажет где в нём есть ошибка.
Программа работает но выводит только жёлтый цвет, если убрать строку "color = Colors.Yellow;" то только красный цвет а самого переключения так и не происходит...
  • Вопрос задан
  • 2650 просмотров
Решения вопроса 1
anyd3v
@anyd3v
Colors color;
color = Colors.Red;
color = Colors.Yellow;


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

Войдите, чтобы написать ответ

Похожие вопросы