简体   繁体   English

如何从位置适配器 RecyclerView 获取价值

[英]How to get value from position adapter RecyclerView

I have 2 data items where the data has different id.我有 2 个数据项,其中数据具有不同的 ID。 When i click radio button then getting id by position.当我单击单选按钮然后按位置获取 id 时。

Example : I have 2 data items, the first id is 57 and the second id is 59. When I click on the first data it must get a value of 57 or when I click on the second data it must get a value of 59.示例:我有 2 个数据项,第一个 id 是 57,第二个 id 是 59。当我点击第一个数据时,它必须获得 57 的值,或者当我点击第二个数据时,它必须获得 59 的值。

private String convertAddressID;
private int previousSelected = -1;
private boolean isRadioChecked;

@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {
    ModelGetAddress adapterAddress = modelGetAddressList.get(position);

    convertAddressID = String.valueOf(adapterAddress.getId());
}

public class ViewHolder extends RecyclerView.ViewHolder {
    private RadioButton radioButton;

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

        radioButton = itemView.findViewById(R.id.radioButton);

        radioButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                previousSelected = getAdapterPosition();
                notifyItemRangeChanged(0, modelGetAddressList.size());

                Toast.makeText(getContext, convertAddressID, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

@Override public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) { ModelGetAddress adapterAddress = modelGetAddressList.get(position); @Override public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) { ModelGetAddress adapterAddress = modelGetAddressList.get(position);

    convertAddressID = String.valueOf(adapterAddress.getId());
}

public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
    private RadioButton radioButton;

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

        radioButton = itemView.findViewById(R.id.radioButton);
        itemView.setOnClickListener(this);


    }

    @Override
    public void onClick(View view) {
        int position=getAdapterPosition();
        Toast.makeText(conext, ""+modelGetAddressList.get(position).getId(), Toast.LENGTH_SHORT).show();

    }
}

You can set the onClickListener in the onBindViewHolder where you always have the position.您可以在始终拥有位置的 onBindViewHolder 中设置 onClickListener。 Call the findViewById in the ViewHolder class.在 ViewHolder 类中调用 findViewById。 Try something like this my (untested) code:试试我的(未经测试的)代码:

@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {
    ((ViewHolder)holder).button.setOnClickListener(...)
}
 public class ViewHolder extends RecyclerView.ViewHolder {
        Button button;

        ViewHolderContent(@NonNull View itemView) {
            super(itemView);
            button= itemView.findViewById(R.id.button);
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在特定适配器位置从RecyclerView获取视图并从这些视图中获取值? - How to get view from RecyclerView at specific adapter position and get values from those views? 如何使用 AsyncTask、RecyclerView 和 RecyclerView.Adapter 将手机中的图像获取到 RecyclerView? - How can I use AsyncTask, RecyclerView, and a RecyclerView.Adapter to get images from my phone into my RecyclerView? 如何从 RecyclerView 获取值 - How to get a value from RecyclerView 如何将一个值从 recyclerview 适配器传递给它对应的 Activity? - How to Pass a value from recyclerview adapter to it's corresponding Activity? 如何从 android studio 中的 recyclerview 适配器获取视频长度 - How to get a video length from a recyclerview adapter in android studio 如何从RecyclerView.Adapter类获取ArrayList - How get ArrayList from RecyclerView.Adapter class 如何从 android kotlin 中的 recyclerview 适配器获取 arraylist - How to get arraylist from recyclerview adapter in android kotlin 如何从RecyclerView.Adapter访问LayoutManager以获取scrollToPosition? - How to access LayoutManager from RecyclerView.Adapter to get scrollToPosition? 如何从RecyclerView Adapter传递给MainActivity的变量? - How can I get a variable from RecyclerView Adapter passed to MainActivity? 如何从同一片段中的其他 recyclerview 适配器刷新 recyclerview 适配器 - How to refresh recyclerview adapter from other recyclerview adapter in same fragment
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM