单击适配器时如何更改文本按钮

时间:2017-08-27 07:27:24

标签: java android button baseadapter

单击适配器时如何更改文本按钮 我试着这不行

 public void setQuestData(final ViewHoder viewHoder, final int position) {
        viewHoder.btn_select_qq.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!profileFeedListModelTwos.get(position).getStatus_select().equalsIgnoreCase("SELECTED")){
                    viewHoder.btn_select_qq.setText("Accepted");
                    notifyDataSetChanged();
                }

                notifyDataSetChanged();

            }
        });

如何解决?我的问题在哪里?

1 个答案:

答案 0 :(得分:0)

  1. 不要处理适配器类中的click事件,而是使用BaseRecyclerViewAdapter.OnRecyclerViewInteractionListener()或您正在使用的适配器的适配器侦听器在片段中处理它。
  2. 在适配器中将位置设置为标记,然后使用它获取片段中的项目。
  3. 使您的适配器扩展您正在使用的BaseRecyclerViewAdapter或适配器
  4. 基本理念 adapter = new Adapter(enter code here用于设置点击监听器)

    在YourAdapter中只需将clickListener设置为您的视图

    即可
    viewHoder.btn_select_qq.setOnClickListener(this)
    

    片段内处理点击

    上的操作
    YourAdapter adapter = new YourAdapter(getActivity(),new BaseRecyclerViewAdapter.OnRecyclerViewInteractionListener() {
                @Override
                public void onClick(View view) {
                    int position = (int) view.getTag();
    
    ItemObject item =adapter .getItem(position);
                    switch (view.getId()) {
                        case R.id.view1:
                            //TODO write logic here
                            break;
                        case R.id.view2:
                        //TODO write logic here
                            break;
                        case R.id.view3:
                          //TODO write logic here
                            break;
                    }
                }
            });