2013-08-05 4 views
1

Мне нужно изменить цвет на выбранный элемент в представлении списка, я знаю, как это сделать в методе click, но дело в том, что я хочу установить его, а затем загружать новую активность. В этой деятельности я создаю listview, а затем я хочу изменить один цвет фона элемента из этого списка.Android установить цвет фона одного элемента в listview

Я попытался

this.slideMenuList = (ListView) findViewById(R.id.listSlideMenu); 
    ArrayAdapter<String> adapter2 = 
      new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, this.menuListResut); 
    this.slideMenuList.setAdapter(adapter2); 

    this.slideMenuList.getChildAt(0).setBackgroundColor(R.color.red); 

, но я получаю NullPointer

+0

Вы должны сделать пользовательский адаптер, а затем передать номер позиции конструктора. – Phil

ответ

0

Вам нужен собственный адаптер; вы, вероятно, получаете NPE, потому что представления не отображаются до тех пор, пока они не понадобятся, и вы не можете сделать это надежно как есть. Написать свой собственный класс адаптера и установить цвет фона после того, как был надутый, как так:

public class MyAdapter extends BaseAdapter { 
    @Override 
    public View getView(int i, View convertView, ViewGroup viewGroup) { 
    convertView = mInflater.inflate(your layout); // Pseudo-code! 
    if (i == 0) { 
     convertView.setBackgroundColor(R.color.red); 
    } 
    } 
} 
Смежные вопросы