Тебе придется сделать что-то вроде этого ...
(TextView) this.findViewById(R.id.drinkname).setText("Water");
Используйте findView
, чтобы получить ссылку на конкретный вид деятельности. Передайте ему идентификатор ресурса, который вы дали в XML (свойство id). Приведите его к правильному типу просмотра, а затем установите его свойства.
Идентификаторы ресурсов создаются автоматически из атрибута id
в XML и добавляются в класс R
внутри R.id.
.
В качестве примера из приложения, которое я сейчас пишу, я обычно определяю представления, которые я собираюсь изменить, как поля уровня класса рядом с началом класса следующим образом:
TextView tvGameDate;
TextView tvGameTime;
TextView tvHomeTeam;
TextView tvAwayTeam;
TextView tvHomePitcher;
Затем, ближе к началу onCreate, я заполнил их всех ссылками на активные представления, например так:
tvGameDate = (TextView) this.findViewById(R.id.tvGameDate);
tvGameTime = (TextView) this.findViewById(R.id.tvGameTime);
tvHomeTeam = (TextView) this.findViewById(R.id.tvHomeTeam);
tvAwayTeam = (TextView) this.findViewById(R.id.tvAwayTeam);
tvHomePitcher = (TextView) this.findViewById(R.id.tvHomePitcher);
Тогда я могу просто ссылаться на поля, которые я определил, всякий раз, когда мне нужно получить к ним доступ следующим образом:
tvHomeTeam.setText(attributes.getNamedItem("home_long").getNodeValue());
tvHomePitcher.setText(" (" + attributes.getNamedItem("home_pitcher").getNodeValue() + ")");
В вашем XML похоже, что вам на самом деле может понадобиться динамически создавать дополнительные текстовые представления на лету на основе рецепта. Вы можете сделать это следующим образом (где llIngredients отображает некоторые LinearLayout в вашем XML):
TextView tv = new TextView(context);
tv.setTextColor(Color.BLACK);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tv.setText("Some text for the new view");
llIngredients.addView(tv);