使用自定义设计在第n行下创建分隔符

时间:2015-07-01 01:45:14

标签: java android android-5.0-lollipop

我使用自定义行设计来制作适配器并将其放在listView中。但是因为我想在listView中有不同的类别,所以我决定在第n行设置一个分隔符。我尝试了if语句,但没有得到我想要的。 这是我的mainActivity:

regexp

这是我的myAdapter类:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    listview = (ListView) findViewById(R.id.drawerListChannels);
    myAdapter = new MyAdapter(this);
    listview.setAdapter(myAdapter);
    if(myAdapter.getCount()==3){ // Here is the problem
        ColorDrawable sage = new ColorDrawable(this.getResources().getColor(R.color.sage));
        listview.setDivider(sage);
        listview.setDividerHeight(2);
    }
    listview.setOnItemClickListener(this);

    drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawerListener = new ActionBarDrawerToggle(this, drawerLayout, null, R.string.drawer_open, R.string.drawer_close) {
        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
            setTitle("Channels");
            invalidateOptionsMenu();
        }

        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
            setTitle("PTIVI");
            invalidateOptionsMenu();
        }
    };
    drawerLayout.setDrawerListener(drawerListener);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

是否可以在彼此之下安装两个listView?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为你应该在MyAdapter类的getView方法中实现你的divider。只需检查位置,然后提供自定义布局。