我创建了SharedPreferences lt= getSharedPreferences("LoginTags", Context.MODE_PRIVATE);用来存放用户选择的三个标签,然后创建了应该RecommendItem类,里面也包含了三个标签,可以用getTag1\2\3()来获取标签。
现在我将所有创建的RecommendItem对象都加入表list,有一个或多个标签和用户选择的标签一致的再加入recommend_list表里,最后通过自定义的适配器显示到ListView里。利用Toast显示选择的标签也是没有问题的
请问下面代码有什么问题,为什么显示不出来?
// 取出用户选择的标签
SharedPreferences lt= getActivity().getSharedPreferences("LoginTags", Context.MODE_PRIVATE);
String tag1 = lt.getString("tag1","");
String tag2 = lt.getString("tag2","");
String tag3 = lt.getString("tag3","");
for(int i = 0;i < list.size();i ++) {// 遍历所有RecommentItem对象,选择符合条件的加入推荐列表
RecommendItem item = list.get(i);
String item_tag1 = item.getTag1();
String item_tag2 = item.getTag2();
String item_tag3 = item.getTag3();
// System.out.println(item.getItemTitle()+"\ntag1:"+item.getTag1()+" tag2:"+item.getTag2()+" tag3:"+item.getTag3());
Boolean tag1_show = item_tag1.equals(tag1) || item_tag1.equals(tag2) || item_tag1.equals(tag3);
Boolean tag2_show = item_tag2.equals(tag1) || item_tag2.equals(tag2) || item_tag2.equals(tag3);
Boolean tag3_show = item_tag3.equals(tag1) || item_tag3.equals(tag2) || item_tag3.equals(tag3);
if(tag1_show || tag2_show || tag3_show)
recommend_list.add(item);
}
我将上面的代码替换成 下面的是能正常显示的,适配器是没有问题的
recommend_list.add(video1);
recommend_list.add(video2);
recommend_list.add(video3);
// video1、2、3是创建好的RecommendItem对象