我有一个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。我怎么能这样做?
答案 0 :(得分:0)
由于您已拥有自己的ListAdapter
(DrawerListAdapter
)课程,因此您应该能够覆盖其中的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