Как изменить картинку на imageButton из кода?
Я использую один адаптер для нескольких фрагментов, и мне надо, чтобы imageButton в одном фрагменте была с одной картинкой, а в другом фрагменте с другой. Как это сделать?
Код, где я создаю holder:
public TaskViewHolder onCreateGroupViewHolder(ViewGroup parent, int viewType) {
int LayoutIdForListItem = 0;
ImageButton imageButton;
switch (viewType){
case TYPE_IS_COMMENT_IS_SUBTASKS:
LayoutIdForListItem = R.layout.is_comment_is_subtasks;
break;
case TYPE_IS_COMMENT_ISNT_SUBTASKS:
LayoutIdForListItem = R.layout.is_comment_isnt_subtasks;
break;
case TYPE_ISNT_COMMENT_ISNT_SUBTASKS:
LayoutIdForListItem = R.layout.isnt_comment_isnt_subtasks;
break;
case TYPE_ISNT_COMMENT_IS_SUBTASKS:
LayoutIdForListItem = R.layout.isnt_comment_is_subtasks;
break;
case TYPE_ISNT_CHECKBOX_IS_COMMENT_ISNT_SUBTASKS:
LayoutIdForListItem = R.layout.isnt_checkbox_is_comment_isnt_subtasks;
break;
case TYPE_ISNT_CHECKBOX_IS_COMMENT_IS_SUBTASKS:
LayoutIdForListItem = R.layout.isnt_checkbox_is_comment_is_subtasks;
break;
case TYPE_ISNT_CHECKBOX_ISNT_COMMENT_IS_SUBTASKS:
LayoutIdForListItem = R.layout.isnt_checkbox_isnt_comment_is_subtasks;
break;
case TYPE_ISNT_CHECKBOX_ISNT_COMMENT_ISNT_SUBTASKS:
LayoutIdForListItem = R.layout.isnt_checkbox_isnt_comment_isnt_subtasks;
break;
}
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(LayoutIdForListItem, parent, false);
return new TaskViewHolder(view, viewType);
}
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Программно картинку можно поменять таким способом:
Drawable tempImage = getResources().getDrawable(R.drawable.my_image);
tempButton.setImageDrawable(tempImage);
либо так:
ImageButton btn = (ImageButton)findViewById(R.id.button1);
btn.setImageResource(R.drawable.newimage);