У меня есть макет, который называется activity_main.xml, который является моим родительским макетом, и затем я вставляю дочерний макет (activity_main_card.xml) в цикл for.Динамические переменные в цикле for?
У меня также есть массив, и то, что я делаю, использует длину массива для определения количества дочерних элементов, которые он должен создать. Все мои данные, которые будут использоваться в дочернем элементе, хранятся в массиве, поэтому идея состоит в том, чтобы перебирать массив, создавать дочерний элемент для каждого цикла и заполнять данные.
Вместо этого то, что в настоящее время происходит, состоит в том, что оно генерирует дочерние элементы 3 (длины массива), но только заполняет первое из них самым последним контентом в массиве. Это связано с тем, что он сохраняет переменные одинаковыми.
Что мне нужно сделать, так или иначе установить динамические переменные, которые меняются по мере повторения цикла.
Код для моего метода заключается в следующем:
for (int i = 0; i < cardArray.length; i++) {
LinearLayout item = (LinearLayout)findViewById(R.id.card_holder);
View child = getLayoutInflater().inflate(R.layout.activity_main_card, item, false);
item.addView(child);
//Set objects from array to variables
String cardTitle = cardArray[i][0];
String cardContent = cardArray[i][1];
String cardImage = cardArray[i][2];
//Set XML elements to variables
TextView title = (TextView) findViewById(R.id.card_title);
TextView content = (TextView) findViewById(R.id.card_content);
ImageView image = (ImageView) findViewById(R.id.card_image);
//Load variable content into card layout
title.setText(cardTitle);
content.setText(cardContent);
image.setImageDrawable(getResources().getDrawable(getResources().getIdentifier("drawable/" + cardImage, "drawable", getPackageName())));
}
То, что я думал, что я мог сделать, чтобы установить точку, как:
TextView title[i] = (TextView) findViewById(R.id.card_title);
однако это не работает. Кто-нибудь знает, как я могу это добиться?
Не можете ли вы добавить эти дочерние представления в родительский вид с помощью ListView и Adapter? –