Таким образом, в моем приложении у меня есть линейное расположение, к которому я добавляю программно некоторые CardViews (Android L cardview), как это:Как изменить вид созданного программно
//This is my LinearLayout
LinearLayout myLayout = (LinearLayout) findViewById(R.id.accounts_layout);
//Here i create my CardView from a prepared xml layout and inflate it to the LinearLayout
View card = View.inflate(getApplicationContext(), R.layout.account_card, myLayout);
//Now i change the 'text' value of the Card's text views
TextView cardTitle = (TextView) card.findViewById(R.id.text_card_title);
cardTitle.setText("Title1");
TextView cardDecription = (TextView) card.findViewById(R.id.text_card_description);
cardDecription.setText("Description1");
//...
//Now i do the same thing for another card
View card2 = View.inflate(getApplicationContext(), R.layout.account_card, myLayout);
TextView cardTitle2 = (TextView) card2.findViewById(R.id.text_card_title);
cardTitle2.setText("Title2");
TextView cardDecription2 = (TextView) card2.findViewById(R.id.text_card_description);
cardDecription2.setText("Description2");
//...
Две карты отображаются правильно, но происходит то, что первая отображаемая карта имеет «Title2» и «Description2», написанные в текстовых окнах, а вторая карта имеет значения по умолчанию, определенные в xml. Мне кажется, что, позвонив card.findViewById()
или card2.findViewById()
, я всегда получаю TextView первой карты. Итак, мой вопрос: как мне удается дифференцировать карты, которые я создаю программно, а затем сопоставлять доступ к виду внутри них?
Спасибо, что сработало! Но возникла другая проблема: я поместил некоторые свойства заголовка на карту в свой xml (высота, ширина, граница, ecc ..), но теперь эти свойства больше не рассматриваются! – Fiora