长按标记我的RecyclerView中的一行(按)

时间:2017-02-21 17:52:56

标签: java android xml

我需要帮助我RecyclerView。我在https://www.raywenderlich.com/126528/android-recyclerview-tutorial建立了一个普通的RecyclerView,现在我需要你的帮助。

我希望在长时间触摸(按下)时在我的RecylcerView中标记一条线(标记的线应该是灰色的),并且设备会发出短暂的振动,以在标记的行中显示删除图标。当行被标记时,我想显示删除图标而不是配置文件图像。点击设备上的后退按钮,我将删除此标记。我怎样才能做到这一点?谢谢你的帮助!

长按后排(按住):

enter image description here

这是我的适配器:



package de.schoolapp.schoolapp;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.List;

/**
 * Created by Johannes on 20.02.2017.
 */

public class BenutzerlisteAdapter extends RecyclerView.Adapter<BenutzerlisteAdapter.MyBenutzerlisteHolder> {
    private List<Benutzerliste> userList;
    private final Context customContext;

    public class MyBenutzerlisteHolder extends RecyclerView.ViewHolder {

        public TextView userRowName, userRowPermission;

        public MyBenutzerlisteHolder(View view) {
            super(view);
            userRowName = (TextView) view.findViewById(R.id.userRowName);
            userRowPermission = (TextView) view.findViewById(R.id.userRowPermission);

        }
    }

    public BenutzerlisteAdapter(java.util.List<Benutzerliste> userList, Context customContext) {
        this.userList = userList;
        this.customContext = customContext;
    }

    @Override
    public MyBenutzerlisteHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.benutzerliste_liste_row, parent, false);

        return new MyBenutzerlisteHolder(itemView);
    }

    @Override
    public void onBindViewHolder(MyBenutzerlisteHolder holder, int position) {

        final Benutzerliste userFillList = userList.get(position);

        holder.userRowName.setText(customContext.getString(R.string.userRowName) + " " + userFillList.getVorname() + " " + userFillList.getName());
        holder.userRowPermission.setText(customContext.getString(R.string.userRowPermission) + " " + userFillList.getBerechtigung());

        // OnClickListener for holder
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(final View v) {
                

            }
        });
    }

    @Override
    public int getItemCount() {
        return userList.size();
    }
}
&#13;
&#13;
&#13;

0 个答案:

没有答案