Это определенно переменная.
final View vArea = li_area.inflate(R.layout.areas_detalles_cpa, null);
final
указывает, что значение не может быть изменено.View
указывает тип переменной.vArea
- это имя переменной.Тогда все справа от = является выражением, значение которого присваивается vArea
.Если вам это не кажется правильным, я снова призываю вас вернуться к базовому обучению Java, потому что вы, возможно, что-то упустили в первый раз.Возможно, это не более чем неправильное использование некоторой терминологии.Если это поможет, я занимаюсь разработкой на Java около 20 лет.Я говорю, что не для того, чтобы хвастаться или опускать вас, но просто для того, чтобы дать представление о моем уровне опыта и заверить вас, что я исхожу из положения, в котором есть некоторые знания по этому вопросу.
Что касается причиныпочему упомянутое вами изменение решает вашу проблему.Я не могу быть уверен, потому что я не знаю точно, в чем проблема и не видел весь соответствующий код, но вот мое предположение.
RelativeLayout fondo_area = (RelativeLayout)findViewById(R.id.background_areas);
Это дает вамошибка, которая findViewbyId
не определена (или не может быть решена, или какова бы ни была формулировка).Это потому, что этот код взят из Activity, для которой этот метод определен, а вы вставили его во фрагмент, а это не так.
RelativeLayout fondo_area = (RelativeLayout) vArea.findViewById(R.id.background_areas);
Теперь он работает, потому что вывызов findviewById
для View
, где этот метод определен.Это звучит как правдоподобное объяснение?
На второстепенной ноте вы можете удалить приведение к RelativeLayout.С одним из последних обновлений Android, который больше не нужен.Это может быть вопрос нацеливания на Java 7 или выше, я точно не помню.