У меня есть XML-файл, который является строкой для ListView, и в него включен макет, например:
<relativeLayout>
<Textview username blah blah/>
<include
android:id="@+id/like_button_layout"
layout="@layout/like" />
<relativeLayout>
Теперь, когда я хочу использовать шаблон ViewHolder в моем адаптере, он показываетдублирующиеся значения только для этого «подобного» макета (в котором есть изображение и текстовое представление внутри), я не могу понять, почему.Вот код java:
private class ViewHolder {
public TextView userName;
public View likeButtonLayout;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
final Context context = parent.getContext();
if (convertView == null) {
convertView =
LayoutInflater.from(context).inflate(R.layout.panel_talk_topic, parent, false);
holder = new ViewHolder();
holder.userName = convertView.findViewById(R.id.user_name);
holder.likeButtonLayout = convertView.findViewById(R.id.like_button_layout);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ImageView likeButtonImage =
holder.likeButtonLayout.findViewById(R.id.like_button_imageView);
TextView likeCountText = holder.likeButtonLayout.findViewById(R.id.like_count_textView);
.
.
.
Все имена пользователей верны, но я думаю, что должен быть особый способ надувания представлений внутри представлений при использовании шаблона держателя вида, о котором я не знаю.Идеи?