findViewById не возвращает правильный тип представления? - PullRequest
0 голосов
/ 18 мая 2019

Поскольку нам больше не нужно приводить заклинания, я ожидал, что findViewById вернет правильный тип, но, похоже, он этого не делает.Я, очевидно, делаю очень простую ошибку, можете ли вы указать на это?

У меня есть идентификатор TextView (так как я создал его динамически), и я хочу изменить размер текста этого элемента,этот фрагмент работает нормально:

        TextView tmpView = findViewById(chain.getIngredientNameId());
        tmpView.setTextSize(8);

Но этот не работает:

        findViewById(chain.getIngredientNameId()).setTextSize(8);

Так что я предполагаю, что мне нужно преобразовать его в TextView, но ни одна из моих попыток не работает(используя () или <>), какую очевидную вещь мне не хватает?

1 Ответ

1 голос
/ 18 мая 2019

Вы должны привести его, если не сохраняете в переменную.

TextView tmpView = findViewById(chain.getIngredientNameId());          //TextVeiw
((TextView) findViewById(chain.getIngredientNameId())).setTextSize(8); // TextVeiw
findViewById(chain.getIngredientNameId());                             // View
...