点击

时间:2016-02-05 16:23:58

标签: android listview android-databinding

我使用此适配器 ListView

适配器

public class MenuAdapter extends BaseAdapter{

    private List<ViewDataBinding> bindings = new ArrayList<>();

    public MenuAdapter(){
        FirstBinding binding = FirstBinding.inflate(inflater);

        FirstModel model = ...;
        binding.setModel(model);
        bindings.add(binding);


        SecondBinding secondBinding = SecondBinding.inflate(inflater);

        SecondModel secondModel = ...; 
        binding.setModel(secondModel);
        bindings.add(secondBinding);

    }

    ...

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return bindings.get(position).getRoot();
    }

    ...


}

first.xml (绑定的第一个布局)

    <?xml version="1.0" encoding="utf-8"?>
    <layout xmlns:android="http://schemas.android.com/apk/res/android">
        <data>
            ...
        </data>
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/menu_row_height"
            android:background="@color/menu_application_background"
                >
    ...
            <Button
                 ...
                android:onClick="@{model.onClick}"
                />
            </RelativeLayout>
        </layout>

实际上这个 onClick 没有按预期工作...点击按钮,它不会从我的模型中调用onClick ..但是在尝试滚动列表之后..对所有错过的调用onClick调用(例如,我可以连续3次点击按钮...但是没有调用onClick。滚动我的列表视图后,onClick被调用3次(错过了)。

这里有什么问题?溶液

P.S。为ListView设置OnItemClickListener不是我想要的。

0 个答案:

没有答案