在自定义适配器中设置项目上特定元素的颜色
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"));
例如我有自定义适配器列表视图,我的列表项是一个包含不同元素的布局: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"));