setBackgroundDrawable не меняет LayoutBackground - PullRequest
1 голос
/ 16 декабря 2011

Я видел несколько примеров этого вопроса здесь, и представленные решения не работают.

Моя цель: обновить фон моего LinearLayout в зависимости от того, какой цвет я получаю от запроса к базе данных.

Что у меня так далеко:

if(teamc=="black"){
    drawable = this.getResources().getDrawable(R.drawable.blackbackground);
    Toast.makeText(TeamActivity.this,teamc, Toast.LENGTH_LONG).show();
    teamColor.setBackgroundDrawable(drawable);
    }

Цвет команды определяется как

teamColor = (LinearLayout) findViewById(R.id.teamcolor);

То, что происходит, это то, что тост выглядит просто отлично, но фон не меняется.

Любая помощь будет оценена.

Ответы [ 5 ]

2 голосов
/ 16 декабря 2011

Вы уверены, что этот тост показывает, а не другой тост?Потому что вы пытаетесь проверить String, если он равен другому String, с помощью оператора ==, и это неправильно.

Вы должны использовать метод .equals(), чтобы сделать сравнение между двумя объектами.

2 голосов
/ 16 декабря 2011

Странно, если тост работает, но фон не меняется.

Try using teamc.equals("black"){}

или

teamColor.setBackgroundResource(R.drawable.blackbackground);
0 голосов
/ 16 декабря 2011

В моем приложении я использую WebView для отображения веб-страницы, когда страница масштабируется хорошо, но теперь с каждой стороны страницы есть белые пробелы, я могу изменить фон на черный цвет ??

0 голосов
/ 16 декабря 2011

вызовет invalidate () LinearLayout с использованием объекта teamColor после установки фона

teamColor.invalidate();
0 голосов
/ 16 декабря 2011

попробуйте сделать напрямую teamColor.setBackgroundResource (R.drawable.blackbackground);

...