Java 如果单击列表项,则设置其背景色
我想根据是否单击列表项来更改列表项的背景色。我怎样才能做到这一点!我尝试了以下方法:Java 如果单击列表项,则设置其背景色,java,android,listview,listitem,Java,Android,Listview,Listitem,我想根据是否单击列表项来更改列表项的背景色。我怎样才能做到这一点!我尝试了以下方法: articleListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
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));
}
}
});
articleListView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共虚线单击(AdapterView AdapterView,视图视图,内部位置,长l){
//查找单击的当前文章
Article currentArticle=mAdapter.getItem(位置);
if(currentArticle.getUrl()!=null){
TextView article_TV=(TextView)findViewById(R.id.post_title);
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.M)
{
article_TV.setBackgroundColor(getApplicationContext().getColor(R.color.colorItemClicked));
}
其他的
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);
这是因为我们在适配器中使用它,所以我们需要在listview行中找到视图。因此我们使用view.findviewbyid这样做..“TextView article_TV=(TextView)view.findviewbyid(R.id.post_title);”它解决了!愚蠢的错误!你照我说的做了吗?是的,我是这样做的,只是你自己把答案贴出来,然后结束这个开放的问题