在onCreate上设置ListView项目背景

时间:2017-02-14 17:57:54

标签: android listview background listviewitem

我有一个listview,我想在onCreate中设置第一个项目的背景颜色。我试过这个:

    mDrawerList = (ListView) findViewById(R.id.navList);
    DrawerListAdapter adapter = new DrawerListAdapter(this, mNavItems);
    mDrawerList.setAdapter(adapter);
    View view = mDrawerList.getChildAt(1);
    view.setBackgroundColor((parseColor("#008CC3")));

但它给了NPE。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

由于您已拥有自己的ListAdapterDrawerListAdapter)课程,因此您应该能够覆盖其中的getView(int position, View convertView, ViewGroup parent)方法。在那里你可以简单地做

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View view = super.getView(position, convertView, parent);
    if (position == 0) {
        view.setBackgroundColor(Color.parseColor("#008CC3"));
    }
    return view;
}

其他提示:

  • 您想要获得第一项但是正在调用getChildAt(1),这实际上会为您提供第二个项目。
  • ListViews在某种程度上已弃用,您应该查看RecyclerViews