ListFragment缺少分隔符

时间:2012-08-27 19:51:54

标签: android android-listview android-listfragment

我正在修改我现有的应用程序以使用ListFragment而不是ListView。

我无法使用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());

      }

我做错了什么?非常感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

你应该在lv.setDivider之后使用lv.setDividerHeight(1)(getActivity()。getResources()。getDrawable(android.R.color.black));

所以反过来:

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

答案 1 :(得分:2)

你的分隔符不能只是一种颜色,因为它也需要一个宽度。你正在检索一个drawable但实际上正在抓取一种颜色。您应该创建一个drawable线并将其放在您定义的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>