listview条目点击变色(并不是点击效果一闪而过)

1.我们在适配器中添加一个方法

private int selectedPositon=0;
public void selectedItemPosition(int position) {
    this.selectedPositon = position;
}

2.在条目点击事件中调用此方法

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView adapterView, View view, int i, long l) {

        myAdapter.selectedItemPosition(i);
        myAdapter.notifyDataSetChanged();
    }
});

3.在适配器中的getview方法中进行修改(文字背景和文字颜色)

if(i==selectedPositon){
    tv.setTextColor(Color.parseColor("#ffffff"));
    tv.setBackgroundColor(Color.parseColor("#ff3300"));
}else {
    tv.setTextColor(Color.parseColor("#000000"));
    tv.setBackgroundColor(Color.parseColor("#f4f5f7"));
}

这样就达到了你要的效果~

你可能感兴趣的:(listview条目点击变色(并不是点击效果一闪而过))