【发布时间】:2014-11-18 10:09:32
【问题描述】:
我有一个ListView,每一行都包含一个不同的User 对象。
User 具有以下不同的字段:
- 我喜欢的东西列表
- 我讨厌的事情清单
- 我玩的游戏列表
- 自我描述
现在,当我填充ListView 时,我想显示每个用户填写的不同内容。例如,一行可能会显示填写的“我喜欢的东西”,而另一行可能会显示“我自己的描述”。
我不希望相邻行显示相同类型的行。所有这些代码都将插入我的BaseAdapter's getView methood。
就pseudocode 而言,实现这一目标的最佳逻辑是什么?
提前致谢!!
更新:解决方案
// Creates arraylist of elements that are complete in profile
List<String> profileElements = new ArrayList<String>();
if (user.getGameOwned() != null && user.getGameOwned().size() > 2) {
profileElements.add(KEY_GAMES_PLAYED);
}
if (user.getAboutMe() != null && !user.getAboutMe().isEmpty()) {
profileElements.add(KEY_ABOUT_ME);
}
if (user.getIAm() != null && user.getIAm().length > 2) {
profileElements.add(KEY_I_AM);
}
if (profileElements.size() > 0) {
String randomElement = profileElements.get(new Random().nextInt(profileElements.size() - 1));
if (randomElement.equals(KEY_GAMES_PLAYED)) {
// do whatever here
}
else if (randomElement.equals(KEY_ABOUT_ME)) {
// do whatever
}
}
【问题讨论】: