2011-05-12 43 views
2

没有人有ListFragment的解决方案总是强迫自己与match_parent代替WRAP_CONTENT做人,我WRAP_CONTENT把它放在的LinearLayout和使用类似ListFragment总是使用match_parent/FILL_PARENT

getView().setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,70));

在ListFragment甚至在行xml上设置强制宽度,但仍然使用match_parent。 此外,它似乎即使我在xml上使用片段或动态添加listfragment它仍强制自己match_parent。

任何帮助都会很棒。谢谢

+0

我也有这个问题。尝试了各种布局,重量等 - 该列表仍然填满整个屏幕,并与布局中的其他视图奇怪地重叠。如果我找到解决方案,我会告诉你。 – LouieGeetoo 2011-09-17 20:10:25

回答

0

您可以有一个ListView的宽度和高度的确定的大小,或者您可以有match_parentwrap_content对于ListView没有任何意义,特别是当列表中的项目类型可能发生变化时 - 如果这是最宽的可见项目的宽度,那么列表可能是200像素宽度,但如果您向下滚动最宽项目可能是300像素宽,这会导致ListView的宽度发生变化。

0

正如我在上面的评论中提到的,我遇到了类似的问题。我设法解决了我的问题;也许它会帮助你。

在我的活动,我创建的片段是这样的:

DepartmentsFragment dFragment = new DepartmentsFragment(); 
dFragment.setArguments(getIntent().getExtras()); 
dFragment.setRetainInstance(true); 
getSupportFragmentManager().beginTransaction().add(
     android.R.id.content, dFragment).commit(); 

我改变了第四行这样:

getSupportFragmentManager().beginTransaction().add(
     R.id.list, dFragment).commit(); 

,以反映我想我的片段视图的id替换,并开始按需要工作。 android.R.id.content告诉它适合整个屏幕。

希望这会有所帮助!