我正在尝试动态创建一些布局,然后对其进行充气。当前,我有一些布局,我正在使用自己的适配器类来对其进行夸大。
但是,现在我需要根据生成的数据创建一些卡。我尝试card
像这样使用类
for (int i = 1; i < 10; i++) {
Card card = new Card(this);
card.setText("Test " + i);
mCards.add(card);
}
我无法按我的意愿设计它。那么由于我有更多的设计选项,有没有办法让我使用xml设置?
冒再次投票的风险,我将发布解决方案
目前,这只是一项测试,看它是否可以按照我想要的方式运行。稍后,我将根据实际列表生成其中包含数据的卡片。
首先,我创建了一个带有textview的xml布局
<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);
请记住,这只是一个for循环,用于将一些数据放入要发送到适配器的列表中。
public void CreateCards() {
for (int i = 1; i < 10; i++) {
numberCards.add(i);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句