我使用适配器构建字符串列表,如何根据特定条件对这些项目应用不同的布局属性?
例如,假设您需要检查列表项的文本是否包含特定单词,然后根据测试结果,您希望增加或减少其边距(如果可以任何意义:D)。
答案 0 :(得分:0)
您可以使用ContextThemeWrapper根据您的特定条件提供不同的主题。
答案 1 :(得分:0)
创建如下的适配器。这里只改变背景颜色,尝试根据你的条件改变布局......
public class SpecialAdapter extends SimpleAdapter {
private int[] colors = new int[] { 0x30FF0000, 0x300000FF };
public SpecialAdapter(Context context, List<HashMap<String, String>> items, int resource, String[] from, int[] to) {
super(context, items, resource, from, to);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
int colorPos = position % colors.length;
view.setBackgroundColor(colors[colorPos]);
return view;
}
}
有关详细信息,请查看此链接http://eureka.ykyuen.info/2010/03/15/android-%E2%80%93-applying-alternate-row-color-in-listview-with-simpleadapter/