我在ListView
的帮助下有一个ListFragment
(在LoaderManager
内)加载数据,我附加了headerView
和footerView
。 我的问题是,在显示页脚后,它显示了很多空白区域(就像几乎整个屏幕一样)。
我的ListFragment中的一些代码:
public class NewsDetailsFragment extends ListFragment implements
LoaderManager.LoaderCallbacks<Cursor> {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (getArguments().containsKey(Const.ARG_ITEM_ID)) {
mId = getArguments().getLong(Const.ARG_ITEM_ID);
getLoaderManager().initLoader(NEWS_DETAILS_LOADER_ID, null, this);
getLoaderManager().initLoader(COMMENTS_LOADER_ID, null, this);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mCommentsAdapter = new CommentsListAdapter(getActivity(), null, 0);
View rootView = inflater.inflate(R.layout.frag_news_details_comments,
container, false);
return rootView;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mHeaderView = LayoutInflater.from(getActivity()).inflate(
R.layout.header, getListView(), false);
mFooterView = LayoutInflater.from(getActivity()).inflate(
R.layout.footer, getListView(), false);
setUI();
setAction();
if (mHeaderView != null) {
getListView().addHeaderView(mHeaderView);
}
if (mFooterView != null) {
getListView().addFooterView(mFooterView);
}
setListAdapter(mCommentsAdapter);
}
显然,这不是我的ListFragment类的整个代码,但其他内容主要与数据的操作方式有关(Loader Callbacks
和其他)。如果需要添加完整代码才能获得正确答案,我会按需添加。
关于屏幕应如何显示的一般概念,标题会显示有关该文章的一些数据(其中包含一堆TextViews
,ImageViews
和Webview
), ListView
显示对本文的评论(如果有的话),页脚显示一个写评论的表单。
LE:这就是它的样子:
LE2:此屏幕截图显示了headerView和footerView的限制方式。 headerView结束于&#34; 0评论此帖:&#34;之后是footerView。在这两者之间,应该显示评论列表(如果有的话)
LE3:为了让自己更清楚:我将显示错误的(红色)和右(绿色)方式。
答案 0 :(得分:0)
原来我在footerView上有这个背景(与ListView相同),只是为了测试一切看起来很好,有textColor和东西,我忘了之后删除它。然后它的高度比页脚中的形状大,从而创造了空白空间。讽刺地用这种愚蠢的方式打扰你的眼睛。