2017-02-18 6 views
1

Я хочу изменить цвет фона элемента списка в зависимости от того, нажат ли элемент или нет. Как я могу это достичь! Я попытался следующие:Установить цвет фона элемента списка, если он нажат

articleListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 
      // Find the current article that was clicked on 
      Article currentArticle = mAdapter.getItem(position); 

      if (currentArticle.getUrl() != null) { 
       TextView article_TV = (TextView) findViewById(R.id.post_title); 

       if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) 
       { 
        article_TV.setBackgroundColor(getApplicationContext().getColor(R.color.colorItemClicked)); 
       } 
     else 
            article_TV.setBackgroundColor(getResources().getColor(R.color.colorItemClicked)); 
       } 

     } 
    }); 

Update: - Глупая ошибка это было. Как предложено ak sacha, должно быть TextView article_TV = (TextView) view.findViewById (R.id.post_title);

+1

делаем это. "TextView article_TV = (TextView) view.findViewById (R. id.post_title);» –

+0

Это действительно решило! Глупая ошибка! –

+0

вы сделали, как я уже сказал? –

ответ

1

Как было предложено ak sacha, мы можем достичь этого, используя TextView article_TV = (TextView) view.findViewById (R.id.post_title); Это связано с тем, что мы используем это в адаптере, поэтому нам нужно найти представление в строке listview. Мы используем view.findviewbyid

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