2012-02-10 4 views
1

У меня есть ListView и в каждой строке TextView и CheckBox. Элементы в списке заносятся из базы данных. Что я хочу сделать, это изменить фон TextView в определенной строке в зависимости от CheckBox статус. Если отмечен CheckBox, измените фон TextView. Есть ли способ сделать этоизменение фона текста в списке в зависимости от состояния элемента

ответ

0

getView() в вашем адаптере для этого он возвращает строку, которая должна быть нарисована. Это самый интересный нам метод. Он будет вызываться каждый раз, когда ListView рисует новую строку. Здесь вы можете управлять тем, что рисуется в определенной строке, путем выбора макета и установки данных в него.

посмотреть tutorial

+0

вы можете дать мне пример? новичок в развитии Android – pedja

+0

Что не так с учебником выше? – confucius

+0

oups, я не сделал ссылку. Я буду изучать его сейчас – pedja

0

надстройку к переходнику методу getView() ваш функционал.

0

Вы можете попробовать установить onClickListener из CheckBox при создании вашей деятельности, а также изменить фон внутри OnClick mehod

CheckBox chk = (CheckBox) findViewById(R.id.chk); 
chk.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v){ 
     if (chk.isChecked()){ 
      //Checked bg 
     } else { 
      //Unchecked bg 
     } 
    } 
}); 
+0

Это делает работу, она меняет фон, как я этого хочу, но проблема в том, когда приложение (или действие) закрыто и снова открывается, его нужно снова щелкнуть, чтобы снова применить фон, но я нужно, чтобы он остался изменен. – pedja

+0

попытайтесь сохранить свои состояния в SaredPreferences, например. – Natali

Смежные вопросы