Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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
在适配器中使用不同布局的Android数据绑定_Android_Android Databinding - Fatal编程技术网

在适配器中使用不同布局的Android数据绑定

在适配器中使用不同布局的Android数据绑定,android,android-databinding,Android,Android Databinding,我在BaseAdapter中使用不同布局的gridview。如果视图在那个时候被重用,我会得到CastException。我如何解决这个问题 我的适配器代码是: public View getView(int position, View v, ViewGroup parent) { ViewHolder holder; if (position == 0) { if(v == null){ TestItemBinding binding

我在BaseAdapter中使用不同布局的gridview。如果视图在那个时候被重用,我会得到CastException。我如何解决这个问题

我的适配器代码是:

public View getView(int position, View v, ViewGroup parent) {
    ViewHolder holder;
    if (position == 0) {
        if(v == null){
            TestItemBinding binding = DataBindingUtil.
                    inflate(LayoutInflater.from(mContext), R.layout.test_item, parent, false);
            holder = new ViewHolder();
            holder.view = binding.getRoot();
        } else {
            holder = (GridViewHolder) v.getTag();
        }
    } else {
        if(v == null){
            TestItem2Binding binding = DataBindingUtil.
                    inflate(LayoutInflater.from(mContext), R.layout.test2_item, parent, false);
            holder = new ViewHolder();
            holder.view = binding.getRoot();
        } else {
            holder = (GridViewHolder) v.getTag();
        }
    }
    setImage(holder.imageView, items.get(position));
    return v;
}

您没有为视图设置标记。您正在请求一个标记,但未进行设置。 在两行之后添加这一行
v.setTag(holder)


如果不起作用,请尝试
v.setTag(holder.view)

您没有将标签设置到视图中。您正在请求一个标记,但未进行设置。 在两行之后添加这一行
v.setTag(holder)


如果不起作用,请尝试
v.setTag(holder.view)

您可以发布代码吗?您可以发布代码吗?