на риск получения downvoted снова я вывешу мое решение
сейчас это просто тест, чтобы увидеть, если он будет работать так, как я хочу. Позже у меня будут карточки, созданные из фактического списка с данными внутри него.
Сначала я создал макет XML с TextView внутри него
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/test_content"
android:textSize="47pt"/>
</LinearLayout>
после этого я создал адаптер, который будет раздувать макет и установить TextView для каждого элемента в списке
public class xmlAdapter extends CardScrollAdapter {
private List<Integer> mCards;
private LayoutInflater mInflater;
public xmlAdapter(List<Integer> mCards, LayoutInflater inflater)
{
this.mCards = mCards;
this.mInflater = inflater;
}
@Override
public int getCount() {
return mCards.size();
}
@Override
public Object getItem(int i) {
return mCards.get(i);
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View mView = view;
view = mInflater.inflate(R.layout.xml_test, viewGroup, false);
TextView text = (TextView) view.findViewById(R.id.test_content);
text.setText("Test " + mCards.get(i));
view.setTag(text);
return view;
}
@Override
public int getPosition(Object o) {
return this.mCards.indexOf(o);
}
}
и в моем классе активности я сделал следующее.
в OnCreate()
CreateCards();
mCardScroller = new CardScrollView(this);
mCardScroller.setAdapter(new xmlAdapter(numberCards, getLayoutInflater()));
mCardScroller.setOnItemClickListener(this);
принять во внимание, что это только для цикла, чтобы поставить некоторые данные в списке, который не отправить к адаптеру.
public void CreateCards() {
for (int i = 1; i < 10; i++) {
numberCards.add(i);
}
}
использование LayoutInflater затем – pskink
Создайте макеты в формате XML и раздувать их – cozeJ4
что-то вроде этого в цикле LayoutInflater Inflater = (LayoutInflater) getSystemService (Context.LAYOUT_INFLATER_SERVICE); RelativeLayout card = (RelativeLayout) inflater.inflate (R.layout.card, null); – cozeJ4