2017-08-27 82 views
0

如何更改文本按钮,当点击适配器 我尝试它不工作如何更改文本按钮,当点击适配器

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(); 

      } 
     }); 

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

回答

0
  1. 不要处理click事件适配器类里面,而不是使用BaseRecyclerViewAdapter.OnRecyclerViewInteractionListener(),您正在使用的网卡的片段或适配器监听处理。
  2. 将位置设置为标签在适配器内,然后使用它获取片段中的项目。您正在使用

基本思路 适配器=新的适配器(enter code here设置点击收听)

里面YourAdapter刚刚设置的clickListener

  • 让您的适配器延长BaseRecyclerViewAdapter或适配器你的看法

    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; 
           } 
          } 
         }); 
    
  • +0

    对不起,我不明白,我用BaseAdapter,我不知道设置你的代码 –

    相关问题