Несколько проблем с AndroidSwipeLayout librart

Я работаю над собственным обзором утилит с использованием AndroidSwipeLibrary daimajia https://github.com/daimajia/AndroidSwipeLayout. Я решил использовать его для добавления двух кнопок прокрутки (удаление и редактирование) в каждой строке повторного просмотра. Ниже я вставляю код для XML-файла структуры строк, класса ViewHolder и класса Adapter.

<?xml version="1.0" encoding="utf-8"?>
<com.daimajia.swipe.SwipeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- Bottom layout with two buttons (delete and edit) -->
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="72dp"
    android:tag="swipeButtons">

    <ImageView
        android:id="@+id/edit_group"
        android:layout_width="70dp"
        android:layout_height="match_parent"
        android:background="#4cd964"
        android:paddingLeft="25dp"
        android:paddingRight="25dp"
        android:src="@drawable/ic_edit_white" />

    <ImageView
        android:id="@+id/delete_group"
        android:layout_width="70dp"
        android:layout_height="match_parent"
        android:background="#f71307"
        android:paddingLeft="25dp"
        android:paddingRight="25dp"
        android:src="@drawable/ic_delete_white" />
</LinearLayout>
<!--end of bottom layout-->

<!--surface layout-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/group_name"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:paddingStart="16dp"
        android:textSize="24sp" />

    <ImageView
        android:id="@+id/item_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|end"
        android:layout_margin="16dp"
        android:scaleType="fitXY"
        android:src="@drawable/ic_action_name" />
</LinearLayout>
<!--the end of surface layout-->

public class GroupsVcAdapter extends
    RecyclerView.Adapter<GroupsViewHolder> {
public static final String EXTRA_GROUP = "com.hfad.singleton.GROUP";
private final LayoutInflater mInflater;
private List<GroupVc> mGroupsVc;

public GroupsVcAdapter(Context context) {
    mInflater = LayoutInflater.from(context);
}

@Override
public GroupsViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View itemView = mInflater.inflate(R.layout.layout_list_of_groups, parent, false);
    return new GroupsViewHolder(itemView);
}

@Override
public void onBindViewHolder(final GroupsViewHolder holder, int position) {
    if (mGroupsVc != null) {
        GroupVc current = mGroupsVc.get(position);
        holder.getNameView().setText(current.getNameGroup());
    } else {
        holder.getNameView().setText("No Groups");
    }
}

public void setGroupsVc(List<GroupVc> mGroupsVc) {
    this.mGroupsVc = mGroupsVc;
    notifyDataSetChanged();
}

@Override
public int getItemCount() {
    if (mGroupsVc != null)
        return mGroupsVc.size();
    else return 0;
}
}

public class GroupsViewHolder extends RecyclerView.ViewHolder {

public static final String EXTRA_GROUP = "com.hfad.singleton.GROUP";
private SwipeLayout swipeLayout;
private ImageView imageView;
private TextView nameView;

GroupsViewHolder(View itemView) {
    super(itemView);
    imageView = (ImageView) itemView.findViewById(R.id.item_image);
    nameView = (TextView) itemView.findViewById(R.id.group_name);
}

public SwipeLayout getSwipeLayout() {
    return swipeLayout;
}

public void setSwipeLayout(SwipeLayout swipeLayout) {
    this.swipeLayout = swipeLayout;
}

public ImageView getImageView() {
    return imageView;
}

public void setImageView(ImageView imageView) {
    this.imageView = imageView;
}

public TextView getNameView() {
    return nameView;
}

public void setNameView(TextView nameView) {
    this.nameView = nameView;
}


public void setSwipeToItem() {
    swipeLayout = (SwipeLayout) LayoutInflater.from
            (itemView.getContext()).inflate(R.layout.layout_list_of_groups, null);
    swipeLayout.setShowMode(SwipeLayout.ShowMode.PullOut);
    swipeLayout.addDrag(SwipeLayout.DragEdge.Left, swipeLayout.findViewWithTag("swipeButtons"));

    swipeLayout.findViewById(R.id.edit_group).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(itemView.getContext(), "Edit", Toast.LENGTH_SHORT).show();
        }
    });

    swipeLayout.findViewById(R.id.delete_group).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(itemView.getContext(), "Delete", Toast.LENGTH_SHORT).show();
        }
    });

    swipeLayout.getSurfaceView().setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(v.getContext(), WordsActivity.class);
            String nameOfGroup = (String) nameView.getText();
            intent.putExtra(EXTRA_GROUP, nameOfGroup);
            itemView.getContext().startActivity(intent);
        }
    });
}
}

У меня есть следующие проблемы: 1) Я могу провести строкой RecyclerView и посмотреть кнопки "Удалить" и "Редактировать", но ни одна из этих кнопок не реагирует на мои нажатия. Также это та же проблема с моей поверхностной частью макета 2) Кнопки смахивания появляются с правого края телефона независимо от того, какой параметр ENUM был установлен в

swipeLayout.addDrag(SwipeLayout.DragEdge.Left, swipeLayout.findViewWithTag("swipeButtons"));

вправо или влево Так что мне нужна помощь, чтобы исправить эти проблемы или советы, где я ошибаюсь по поводу работы с библиотекой

0 ответов

Другие вопросы по тегам