首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在单击回收器视图时获取当前值

如何在单击回收器视图时获取当前值
EN

Stack Overflow用户
提问于 2018-09-05 15:06:31
回答 4查看 91关注 0票数 0
代码语言:javascript
运行
复制
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {


private String[] mDatasetname;

private Integer[] mexp;
Context context;
public ToggleButton select;
Integer selectedcountint=0;
  private Bitmap[] mpro;

private String[] mloc;
private String[] mobj;

private String[] mselected;
 public ArrayList<String> nselected = new ArrayList<>();



public static class MyViewHolder extends RecyclerView.ViewHolder{

    public CardView mCardView;
    public TextView mTextView;
    public TextView texp;
    public Button pdf;
    public ToggleButton select;
    public ImageView pro;
    public TextView loc;




    public MyViewHolder(View v){

        super(v);


        mCardView = (CardView) v.findViewById(R.id.card_view);
        mTextView = (TextView) v.findViewById(R.id.tv_text);
       texp = (TextView) v.findViewById(R.id.setexp);
        pdf = (Button) v.findViewById(R.id.moreinfo);
        select = (ToggleButton) v.findViewById(R.id.select);
        pro = (ImageView) v.findViewById(R.id.setpropic);
        loc = (TextView) v.findViewById(R.id.setlocation);



    }


}

public MyAdapter(String[] myDataset,Integer[] exp,Bitmap[] pro,String[] loc,String[] obj){


    mDatasetname = myDataset;

    mexp=exp;
    mpro=pro;
    mloc=loc;

    mobj=obj;



}



@Override
public MyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType){

    context=parent.getContext();
    View vs = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_item, parent, false);
    MyViewHolder vh = new MyViewHolder(vs);
    return vh;
}

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




    holder.mTextView.setText(mDatasetname[position]);
    holder.texp.setText(String.valueOf(mexp[position])+" yrs");
    holder.pro.setImageBitmap(mpro[position]);
    holder.loc.setText(mloc[position]);
    holder.select.setText("rejected");

    holder.pdf.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent=new Intent();
            intent =  new Intent(context, PdfViewer.class);
            intent.putExtra("obj",mobj[position]);
            context.startActivity(intent);


        }
    });



    holder.select.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked==true) {
                holder.select.setChecked(true);
                holder.select.setText("selected");
              nselected.remove(mobj[position]+",rejected");
               nselected.add(mobj[position]+",selected");
                Log.d("dei", String.valueOf(nselected));
                selectedcountint=selectedcountint+1;

                Intent intent = new Intent("custom-message");
                //            intent.putExtra("quantity",Integer.parseInt(quantity.getText().toString()));
                Bundle args = new Bundle();
                args.putSerializable("ARRAYLIST",(Serializable)nselected);
                intent.putExtra("BUNDLE",args);
                intent.putExtra("totalval",selectedcountint);

                LocalBroadcastManager.getInstance(context).sendBroadcast(intent);


            } else {
                holder.select.setChecked(false);
                holder.select.setText("rejected");
                nselected.remove(mobj[position]+",selected");
                nselected.add(mobj[position]+",rejected");
                Log.d("dei", String.valueOf(nselected));
                selectedcountint=selectedcountint-1;


                Intent intent = new Intent("custom-message");
                //            intent.putExtra("quantity",Integer.parseInt(quantity.getText().toString()));
                Bundle args = new Bundle();
                args.putSerializable("ARRAYLIST",(Serializable)nselected);
                intent.putExtra("BUNDLE",args);
                intent.putExtra("totalval",selectedcountint);

                LocalBroadcastManager.getInstance(context).sendBroadcast(intent);






            }
        }
    });







}


@Override
public int getItemCount() { return mDatasetname.length; }

}

我的应用程序中有一个回收器视图。我有个问题。有一个项目,所以当我点击项目a时,点击b中的函数被执行。如果你帮我清理下面的代码,那就太好了,因为我是编程新手,所以我不能解决这个问题。

EN

Stack Overflow用户

发布于 2018-09-06 14:08:20

公共类MyAdapter扩展了RecyclerView.Adapter {

代码语言:javascript
运行
复制
private String[] mDatasetname;

private Integer[] mexp;
 private Context context;
public ToggleButton select;
Integer selectedcountint=0;
  private Bitmap[] mpro;

private String[] mloc;
private String[] mobj;
public Button pdf;Context m;private String[] mselected;
 public ArrayList<String> nselected = new ArrayList<>();



public static class MyViewHolder extends RecyclerView.ViewHolder{

    public CardView mCardView;
    public TextView mTextView;
    public TextView texp;
    public Button pdf;
    public ToggleButton select;
    public ImageView pro;
    public MainActivity activity;

    public  Context ipaset;
    public TextView loc;
    public View layout;

      View forresumeview;
    String forresume;
    private RecyclerView.ViewHolder s;




    public MyViewHolder(final View v) {

        super(v);


        mCardView = (CardView) v.findViewById(R.id.card_view);
        mTextView = (TextView) v.findViewById(R.id.tv_text);
        texp = (TextView) v.findViewById(R.id.setexp);
        pdf = (Button) v.findViewById(R.id.moreinfo);
        select = (ToggleButton) v.findViewById(R.id.select);
        pro = (ImageView) v.findViewById(R.id.setpropic);
        loc = (TextView) v.findViewById(R.id.setlocation);


        forresumeview=v;




    }




    void bind(String name, Integer exp, String location, final Bitmap image, final String obj ){
            mTextView.setText(name);

            texp.setText(String.valueOf(exp) + " yrs");
            pro.setImageBitmap(image);
            loc.setText(location);







    }

    public void doonce(final String s){


        pdf.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View vs) {

                Intent intent = new Intent(forresumeview.getContext(), PdfViewer.class);

                intent.putExtra("obj", s);


                forresumeview.getContext().startActivity(intent);


                //  Log.d("sdasd", obj);


            }
        });

    }




}

public MyAdapter(String[] myDataset,Integer[] exp,Bitmap[] pro,String[] loc,String[] obj){


    mDatasetname = myDataset;

    mexp=exp;
    mpro=pro;
    mloc=loc;

    mobj=obj;




}



@Override
public MyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType){

    context=parent.getContext();

   View vs = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_item, parent, false);

    MyViewHolder vh = new MyViewHolder(vs);
    return vh;
}

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


    holder.bind(mDatasetname[position],mexp[position],mloc[position],mpro[position],mobj[position]);

    holder.doonce(mobj[position]);









}





@Override
public int getItemCount() { return mDatasetname.length; }

}

这就是答案,,,我试过了!快乐的编码......

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52179065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档