2017-08-27 83 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,我不知道設置你的代碼 –

    相關問題