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

时间:2017-10-25 18:03:27

标签: java android listview custom-adapter

例如,我有自定义适配器列表视图,我的列表项是包含不同元素的布局:textview,imageView等。如何设置所选列表项的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;
            }
        });

2 个答案:

答案 0 :(得分:0)

嗯,你有这一行:

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);

请注意,如果您滚动列表,布局可能会再次呈现,您的更改将不会再次显示。

答案 1 :(得分:0)

view.setBackgroundColor(Color.parseColor( “#222222”));