Несколько проблем с 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"));
вправо или влево Так что мне нужна помощь, чтобы исправить эти проблемы или советы, где я ошибаюсь по поводу работы с библиотекой