2012-08-27 60 views
3

我正在修改我現有的應用程序以使用ListFragment而不是ListView。ListFragment missing divider

我無法使用JAVA設置分頻器。沒有例外被拋出。 ListFragment不顯示分隔符。

public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 

     setRetainInstance(true); 
     setHasOptionsMenu(true); 

     lv = getListView(); 
     lv.setTextFilterEnabled(true); 
     lv.setCacheColorHint(Color.TRANSPARENT); 
     lv.setFastScrollEnabled(true); 
     lv.setDividerHeight(1); 

     lv.setDivider(getActivity().getResources().getDrawable(android.R.color.black)); 

     lv.setBackgroundDrawable(getResources().getDrawable(R.drawable.merge)); //white background 
     lv.setScrollingCacheEnabled(false); 
     lv.setSmoothScrollbarEnabled(false);  

     setListAdapter(new IconicAdapter()); 

     } 

我在做什麼錯?您的幫助是高度讚賞。

回答

7

您應該使用lv.setDividerHeight(1)lv.setDivider(getActivity()getResources()後getDrawable( android.R.color.black));

所以反轉他們:

lv.setDivider(getActivity().getResources().getDrawable(android.R.color.black)); 
lv.setDividerHeight(1); 
+0

非常感謝你......爲我工作= d – Abid

2

你的分隔線不能只是一種顏色,因爲它也需要寬度。您正在檢索drawable,但實際上是抓住一種顏色。您應該創建一個線繪製,並把它放在這樣定義您的文件夾繪製:。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
    <shape android:shape="line"> 
     <stroke android:color="#000000" android:width="1dp" /> 
    </shape> 
    </item> 
</selector>