Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何停止在ListView中回收视图_Java_Android - Fatal编程技术网

Java 如何停止在ListView中回收视图

Java 如何停止在ListView中回收视图,java,android,Java,Android,我在水平滚动中动态创建ImageView。表示图像在列表视图项中水平滚动。但我的问题是,如果我滚动列表,图像会动态重复。请帮助我停止这种图像循环。 如果是滚动也应该显示多少我添加 public View getView(int position, View convertView, ViewGroup parent) { System.out.println("getview:" + position + " " + convertView); View vi = convert

我在水平滚动中动态创建ImageView。表示图像在列表视图项中水平滚动。但我的问题是,如果我滚动列表,图像会动态重复。请帮助我停止这种图像循环。 如果是滚动也应该显示多少我添加

public View getView(int position, View convertView, ViewGroup parent) {
    System.out.println("getview:" + position + " " + convertView);
    View vi = convertView;`enter code here`
    ViewHolder holder = null;
    if (convertView == null) {
        LayoutInflater inflater = ((Activity) context).getLayoutInflater();
        vi = inflater.inflate(R.layout.list_item, null);
                holder = new ViewHolder();
        holder.textview1 = (TextView) vi.findViewById(R.id.textview1);
        holder.textview2 = (TextView) vi.findViewById(R.id.textview2);
        holder.imgscrollchild = (LinearLayout) vi
                .findViewById(R.id.imgscrollchild);
        vi.setTag(holder);
    } else {
        holder = (ViewHolder) vi.getTag();
    }   
    tempValues = (ListModel) data.get(position);
    holder.textview1.setText(tempValues.getName());
    holder.textview2.setText(tempValues.getDescription());
holder.imgscrollchild.addView(createimg(tempValues.getImage(),
            tempValues.getText()));`enter code here`
    return vi;
}
在这里,您将向可能回收的listview项添加一个图像,而不首先删除任何可能的旧视图

根据您的布局,添加

holder.imgscrollchild.removeAllViews();

在此之前,这行代码可能足以解决问题。

发布适配器代码显示您的
适配器
代码请检查上述适配器代码禁用ListView中的视图循环将影响其性能。您应该修复自定义适配器中重复出现的图像。我已还原自破坏编辑。没有代码,问题和答案就没有意义。如果我水平滚动第一行。为什么第五行也会滚动?假设列表项中有一个水平滚动视图,请调用
scrollTo()
将其重置为默认位置。我应该添加到哪里请您清楚地告诉我。。?或者请您编辑代码..?请您指导我..?使用
findViewById()
访问滚动视图,然后在其上调用该方法。如果你需要特别的帮助,考虑一个特定的问题(使用问题的便利,而不是评论)。
holder.imgscrollchild.removeAllViews();