简体   繁体   中英

How to send data from RecyclerView to edit text in the same activity using adapter? (Android)

I have a problem in my code, I want to send the data I clicked from the RecyclerView to edit text in the same activity

My adapter:

public class RecyclerViewAdapter1 extends RecyclerView.Adapter<RecyclerViewAdapter1.ViewHolder> {


    private Context context;
    private List<Result> results;

    public RecyclerViewAdapter1(Context context, List<Result> results) {
        this.context = context;
        this.results = results;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.arraylist1, parent,false);
        ViewHolder holder = new ViewHolder(v);

        return holder;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        Result result = results.get(position);
        holder.textViewid.setText(result.getRef_desa_id());
        holder.textViewNm_desa.setText(result.getNama_desa());



    }

    @Override
    public int getItemCount() {
        return results.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder  implements View.OnClickListener{
        @BindView(R.id.txtid)
        TextView textViewid;
        @BindView(R.id.txtnm_desa)
        TextView textViewNm_desa;




        public ViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
        @Override
        public void onClick(View v) {
            String id = textViewid.getText().toString();


            Intent i = new Intent(context, DaftarDukaActivity2.class);
            ((Activity)context).finish();

            i.putExtra("id", id);

            context.startActivity(i);

        }
    }
    }

In the code above, my coding has succeeded in displaying data to another Edit text activity. I want to ask, how to send data from the RecyclerView I clicked to EditText in the same activity?

Do you want editText.setText() from reacyclerview adapter? You can do like this:

public class RecyclerViewAdapter1 extends RecyclerView.Adapter<RecyclerViewAdapter1.ViewHolder> {


    private Context context;
    private List<Result> results;
    private EditText editText;

    public RecyclerViewAdapter1(Context context, List<Result> results,EditText editText) {
        this.context = context;
        this.results = results;
        this.editText=editText;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.arraylist1, parent,false);
        ViewHolder holder = new ViewHolder(v);

        return holder;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        Result result = results.get(position);
        holder.textViewid.setText(result.getRef_desa_id());
        holder.textViewNm_desa.setText(result.getNama_desa());



    }

    @Override
    public int getItemCount() {
        return results.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder  implements View.OnClickListener{
        @BindView(R.id.txtid)
        TextView textViewid;
        @BindView(R.id.txtnm_desa)
        TextView textViewNm_desa;




        public ViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
        @Override
        public void onClick(View v) {
            String id = textViewid.getText().toString();
            editText.setText(id);

        }
    }
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM