【发布时间】:2019-05-25 04:57:19
【问题描述】:
我有一个 .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);
.
.
.
用户名都是正确的,但我认为在使用我不知道的视图持有者模式时,需要有一种特殊的方式来膨胀视图内的视图。想法?
【问题讨论】:
-
一些问题.. 你为什么不使用回收站视图??什么是转换视图?你说的重复是什么意思?请使用 logcats 或屏幕截图提供问题示例
-
我不能使用回收站视图,我希望得到这个问题。重复我的意思是每 5 行,likeCountText 和 likeButtonImage 中的值与前面的行相似。有一个重复的模式,但是每行中的所有用户名都不同。
-
我想知道你为什么不能使用回收站视图
-
参考这个链接:- stackoverflow.com/a/51950438/3946958
-
所有答案都没有帮助,但谢谢:(
标签: android listview android-recyclerview android-viewholder