【发布时间】:2011-09-19 05:59:24
【问题描述】:
我最近遇到了一个非常奇怪的错误...根本不知道该怎么办...
我有一个“Tabbed-Fragment-Activity”,这意味着我需要在底部有一个 tabhost,所以我使用了 google 的 API 示例,它通过 TabHost(和管理器)管理片段 几乎每个选项卡实际上都是一个 ListFragment,我在“OnActivityCreated”处为每个选项卡添加一个标题。
现在奇怪的是:当我第一次移动到选项卡 (ListFragment) 时,我可以看到标题,但是一旦我从选项卡移动然后返回到它,标题就消失了!!!
这是我正在使用的代码:
private boolean initialized = false;
private TextView m_Header = null;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
String listTitle = "HELLO HUMAN"
if(m_Header == null && !Helpers.isNullOrBlank(listTitle))
{
m_Header = (TextView)inflater.inflate(R.layout.newslist_header, null, false);
m_Header.setText(listTitle);
}
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if(!initialized)
{
ListView list = getListView();
if(m_Header != null)
{
list.addHeaderView(m_Header);
}
this.m_adapter = new SomeAdapter();
setListAdapter(this.m_adapter);
registerForContextMenu(list);
this.initialized = true;
}
}
我正在使用这个“初始化”布尔值,以便在每次加载片段时不调用“setListAdapter”/“addHeader”(否则你会得到一个讨厌的异常,说你不能在设置适配器后添加标题...... )
Errr...我对此一无所知...
请帮忙:)
【问题讨论】:
标签: android listview header android-fragments