2017-02-14 3 views
0

나는 listview가 있으며 onCreate에서 첫 번째 항목의 배경색을 설정하려고합니다. 나는 이것을 시도했다 :onCreate에서 ListView 항목 배경 설정

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

이미 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
+0

당신이 조사해야되지 않습니다? –

+0

주석을 업데이트했습니다. 'ListAdapter' 또는'ArrayAdapter'를 확장한다고 가정하십시오. – Syex

+0

감사합니다. 하지만 나중에 어떻게 투명하게 다시 변경할 수 있습니까? onItemClick에서 해보려고 했으므로 작동하지 않습니다. –

관련 문제