EditText gibt Fehler: TextView unterstützt keine Textauswahl. Auswahl aufgehoben

Ich habeRecyclerView .Das Element an der Position 0 ist der Header fürEditText, dann sind alle anderen Elemente Bilder. Durch langes Drücken aufEditText es gibt Option einfügen. Dies funktioniert gut. Aber wenn ich die Ansicht des Recyclers nach unten scrolle und wieder nach oben komme und lange drücke, wird die Einfügeoption nicht angezeigt und ein Fehler ausgegeben. Ein Scrollen nach unten und erneut nach oben übergibt Anruf anonBindViewHolder.

TextView: TextView unterstützt keine Textauswahl. Auswahl aufgehoben.

public class Someclass extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements View.OnClickListener {


    private static final int TYPE_EDIT = 0;
    private static final int TYPE_IMAGE = 1;
    List<String> msomelist = new ArrayList<String>();

    public void someMethod(List<String> somelist) {

        msomelist.clear();
        msomelist.addAll(somelist);
        notifyDataSetChanged();

    }




    public Someclass(Activity activity, List<String> somelist) {
        this.activity = activity;
        this.msomelist.clear();
        this.msomelist.addAll(somelist);
        mContext = activity;
    }

    @Override
    public int getItemViewType(int position) {

        if (position == 0)
            return TYPE_EDIT;

        return TYPE_IMAGE;
    }

    @Override
    public void onClick(View view) {
        int postition = (int) view.getTag();
        msomelist.remove(postition);
        notifyDataSetChanged();

    }

    public static class ViewHolder extends RecyclerView.ViewHolder {
       ImageView img;

        public ViewHolder(View itemView) {
            super(itemView);

            img = (ImageView) itemView.findViewById(R.id.image);
        }
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if (viewType == TYPE_IMAGE) {
            View view = LayoutInflater.from(mContext)
                    .inflate(somelayout, false);
            ViewHolder holder = new ViewHolder(view);
            return holder;
        } else {
            View view = LayoutInflater.from(mContext)
                    .inflate(someotherlayout, false);


            return new OtherHolder(view);
        }
    }

    class OtherHolder extends RecyclerView.ViewHolder {
        EditText editText;

        public OtherHolder(View itemView) {
            super(itemView);
            editText = (EditText) itemView.findViewById(R.id.ediItext);
            editText.requestFocus();
        }
    }

    @Override
    public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {

        if (holder instanceof ViewHolder) {
            some function.....
        } else if (holder instanceof OtherHolder) {
            some function
        }
    }
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage