在自定义适配器中设置项目上特定元素的颜色

Set the color of particular element on item in custom adapter

例如我有自定义适配器列表视图,我的列表项是一个包含不同元素的布局:textview、imageView 等等。如何设置所选列表项的图像视图颜色?假设我想将此项目添加到收藏夹中,并且我想将明星收藏夹的颜色更改为黄色。谢谢)

       list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view,
                                           int position, long id) {

                Toast.makeText(getActivity(), PlaceName[position] + " in favourite", 
Toast.LENGTH_SHORT).show();
//Do smth here, set the color of element on item, add to favourite and something else
                return true;
            }
        });

嗯,你有这条线:

public boolean onItemLongClick(AdapterView<?> parent, View view,
                                           int position, long id) {

https://developer.android.com/reference/android/widget/AdapterView.OnItemLongClickListener.html

根据文档,view 是您实际单击的布局,因此您可以使用如下方式获取 View 的子布局:

ImageView favorite = view.findViewById(R.id.yourFavoriteImageView);

请注意,如果您滚动浏览列表,布局可能会再次呈现,并且您的更改将不再可见。

view.setBackgroundColor(Color.parseColor("#222222"));