2017-10-26 14 views
0
compile 'org.greenrobot:eventbus:3.0.0' 

を受信しない:ここでは、メッセージを送る私のメインframentEventBus:@Subscribe - ここに私のframent加入者メッセージ

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()で、となります。

なぜですか?

答えて

1

CategoryFilterEvent

public int getCategoryId() { 
    return categoryId; 
} 

と変更にgetterメソッドを追加します。へ

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

@Subscribe 
public void onChangeFilter(CategoryFilterEvent event) { 
    // THIS WILL BE CALLED 
    int categoryId = event.getCategoryId(); 
} 
関連する問題