点击监听器不等待补救

时间:2016-03-30 07:03:01

标签: java android android-recyclerview onclicklistener viewflipper

onClick事件会在我们触及时立即触发,并且不会等到up事件。

 @Override
    public View getPage(int position, View convertView, ViewGroup parent, final Topic item1, final Topic item2, CloseListener closeListener) {
        final FriendsHolder holder;

        if (convertView == null) {
            holder = new FriendsHolder();
            convertView = getActivity().getLayoutInflater().inflate(R.layout.friends_merge_page, parent, false);
            holder.leftAvatar = ButterKnife.findById(convertView,R.id.first);
            holder.rightAvatar = ButterKnife.findById(convertView,R.id.second);
            holder.leftAvatar.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    myParentActivity.setUrl(item1.getMainLink());
                }
            });

            holder.rightAvatar.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    myParentActivity.setUrl(item2.getMainLink());
                }
            });

持有人的左右头像视图是有问题的观点。他们也有一个翻转听众。但是只要我触摸它们就会触发点击事件。

1 个答案:

答案 0 :(得分:1)

将行动写出if条件

if (convertView == null) {
        holder = new FriendsHolder();
        convertView =      getActivity().getLayoutInflater().inflate(R.layout.friends_merge_page, parent, false);
        holder.leftAvatar = ButterKnife.findById(convertView,R.id.first);
        holder.rightAvatar = ButterKnife.findById(convertView,R.id.second);
}
        holder.leftAvatar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                myParentActivity.setUrl(item1.getMainLink());
            }
        });

        holder.rightAvatar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                myParentActivity.setUrl(item2.getMainLink());
            }
        });