3

ListView の代わりに ListFragment を使用するように既存のアプリを変更しています。

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());

      }

私は何を間違っていますか?大変お世話になりました。

4

2 に答える 2

7

lv.setDivider(getActivity().getResources().getDrawable(android.R.color.black)); の後に lv.setDividerHeight(1) を使用する必要があります。

だからそれらを反転します:

lv.setDivider(getActivity().getResources().getDrawable(android.R.color.black));
lv.setDividerHeight(1);
于 2012-08-27T20:59:03.897 に答える
2

仕切りには幅も必要なので、単に色にすることはできません。あなたはドローアブルを取得していますが、実際には色をつかんでいます。線の描画可能ファイルを作成し、次のように定義された描画可能フォルダーに配置する必要があります。

<?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>
于 2012-08-27T19:57:54.827 に答える