设置列表项被点击时的背景颜色
Set Background Color of a List Item if it is Clicked
我想根据项目是否被点击来改变列表项目的背景颜色。我怎样才能做到这一点!我确实尝试了以下方法:
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));
}
}
});
更新:-
这是愚蠢的错误。正如ak sacha所建议的那样
TextView article_TV = (TextView) view.findViewById(R.id.post_title);
根据 ak sacha 的建议,我们可以简单地通过使用
TextView article_TV = (TextView) view.findViewById(R.id.post_title);
这是因为我们在适配器中使用它,所以我们需要在我们使用 view.findviewbyid
的列表视图 row.Hence 中找到视图
我想根据项目是否被点击来改变列表项目的背景颜色。我怎样才能做到这一点!我确实尝试了以下方法:
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));
}
}
});
更新:- 这是愚蠢的错误。正如ak sacha所建议的那样 TextView article_TV = (TextView) view.findViewById(R.id.post_title);
根据 ak sacha 的建议,我们可以简单地通过使用 TextView article_TV = (TextView) view.findViewById(R.id.post_title); 这是因为我们在适配器中使用它,所以我们需要在我们使用 view.findviewbyid
的列表视图 row.Hence 中找到视图