EventBus:@Subscribe - 不接收消息

EventBus: @Subscribe - not receive message

compile 'org.greenrobot:eventbus:3.0.0'

这是我的框架订阅者:

public class FragmentSort extends Fragment {

@Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        EventBus.getDefault().register(this);
        View rootView = inflater.inflate(R.layout.fragment, container, false);
        return rootView;
}


 @Subscribe
    public void onChangeFilter(Integer categoryId) {
      // NOT CALL
    }

这里是我发送消息的主要框架:

public class MainFragment extends Fragment {

    private void searchViewPostAction(Integer categoryId) {
        searchView.clearFocus();
        EventBus.getDefault().post(new CategoryFilterEvent(categoryId));
    }
}

这是我的 POJO:

public class CategoryFilterEvent {
    private Integer categoryId;

    public CategoryFilterEvent(Integer categoryId) {
        this.categoryId = categoryId;
    }

}

方法MainFragment.searchViewPostAction()是调用但收不到消息。 方法 FragmentSort.onChangeFilter()NOT 调用。

为什么?

将 getter 方法添加到 CategoryFilterEvent

public int getCategoryId() {
    return categoryId;
}

并更改:

@Subscribe
public void onChangeFilter(Integer categoryId) {
  // NOT CALL
}

至:

@Subscribe
public void onChangeFilter(CategoryFilterEvent event) {
  // THIS WILL BE CALLED
    int categoryId = event.getCategoryId();
}