我正面临一个非常奇怪的现象。我正在使用兼容性包中的 ViewPager 来显示配置文件。
每个配置文件都只是一个包含自定义元素的 ListView。每个元素都有两种状态:
- 有数据 - 显示它
- 没有数据 - 显示占位符
每次在配置文件之间滑动时,我都会重置项目对象中的数据。当我删除 REST-Calls 并让配置文件项目为空时 - 这应该显示占位符 - 所有项目都保持空白。
可能是什么问题呢?
编辑:/
这就是我在列表视图中设置当前项目的方式。PageViewAdapter 似乎没问题,如果我使用静态内容,一切都很完美。
final TextView lblTitle = (TextView)convertView.findViewById(R.id.lblTitle);
final LinearLayout llContent = (LinearLayout)convertView.findViewById(R.id.llContent);
final ProfileItem item = getItem(userPosition);
String title = item.getTitle();
if(title == null || title.equals("")) {
lblTitle.setVisibility(View.GONE);
} else {
lblTitle.setText(item.getTitle());
}
if(item.getContent().getParent() != null) {
((ViewGroup)item.getContent().getParent()).removeAllViews();
}
llContent.removeAllViews();
llContent.addView(item.getContent());
这些项目看起来都非常相似:
@Override
public View getContent() {
if(isTextEmpty()) {
return noTextTherePlaceholder;
} else {
return view;
}
}
即使我只返回视图或 noTextTherePlaceholder,效果也保持不变。
如果我在 getView 方法中设置像 TextView 这样的新视图,一切都会按预期工作。