2012-04-24 72 views
0

我面临一个很奇怪的现象。我正在使用兼容性包中的ViewPager来显示配置文件。的ListView里面ViewPager - 在ListView的项目保持空白

每个配置文件仅仅是一个在它自定义元素的ListView。每一个元素有两种状态:

  1. 有数据 - 它显示
  2. 没有数据 - 显示占位

我每次型材我重置的项目对象中的数据之间滑动。当我删除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相同。

如果我instate像在getView方法都一个TextView新视图按预期工作。

+0

你应该向我们展示一些代码,无法看到它从这里开始。您的ViewPager适配器的代码是特别感兴趣的。 – 2012-04-24 09:57:49

回答

0

随着视图寻呼机你必须让你的Activity.onCreate的所有数据,然后使用这些数据在ViewPagers适配器的onInstantiateItem

+0

这不是事实。您可以随时编辑内容,只需要获取正确的视图引用即可在发生更改时调用invalidate。 – schlingel 2012-04-24 10:21:17

+0

当然,我的意思是你的数据应该以某种方式在活动对象被持久化。尽管如此,仍然在等待你的实例化代码。 – 2012-04-24 10:24:43

+0

这是不可能的,因为我已经通过REST在第一时间获取它。如果应用程序在显示下一页之前必须等待完成通话,那将非常令人讨厌。代码已交付。 – schlingel 2012-04-24 10:28:24