2011-05-12 27 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告訴它適合整個屏幕。

希望這會有所幫助!