2015-08-22 3 views
0

У меня есть 2 Recyclerviews внутри 2 разных фрагментов, содержащихся в ViewPager. Когда карта в моем RecyclerviewA щелкают я хотел бы передать соответствующий объект к RecyclerviewB в настоящее время у меня есть OnClick в RecyclerView со следующим кодом:Использование шины событий Otto для передачи данных между RecyclerViews

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

    holder.nameTextView.setText(list.get(position).getString("name")); 
    holder.addressTextView.setText(list.get(position).getString("fromAddress")); 

    final int pos = position; 
    holder.acceptButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

     ApplicationClass.bus.post(list.get(pos)); 

     } 
    }); 

В RecyclerViewB У меня есть

public PickupListAdapter(Context context, List<ParseObject> ddList) { 
    this.ddList = ddList; 
    this.mContext = context; 
    ApplicationClass.bus.register(mContext); 
} 

@Subscribe 
public void answerAvailable(ParseObject object) { 
    ddList.add(object); 
    notifyDataSetChanged(); 
} 

Внутри мой класс применения I:

public static Bus bus; 

@Override 
public void onCreate(){ 
    super.onCreate(); 
      bus = new Bus(ThreadEnforcer.MAIN); 


} 

Метод «answerAvailable» не вызывается. Что в настоящее время неверно в отношении моей реализации?

ответ

0

Я вижу только одно изменение из своего рабочего кода. Можете ли вы попробовать это:

bus= new Bus(ThreadEnforcer.ANY); 
Смежные вопросы