Subcribe Event Bus

پرسیده شده
فعالیت 949 روز پیش
دیده شده 369 بار
0

سلام 
تکه کد هایی که مربوط به postSnicky رو به صورت زیر در viewModel و activity وارد کردم ولی متدی که subcribe شده تو activity جرا نمیشه در نتیجه badge نمایش داده نمیشه مشکل از کدوم قسمته 

 

viewModel

fun getCartItemsCount() {
		if (!TokenContainer.token.isNullOrEmpty()) {
			cartRepository.getCartItemCount()
				.subscribeOn(Schedulers.io())
				.subscribe(object : NikeSingleObserver<CartItemCount>(compositeDisposable) {
					override fun onSuccess(itemCount: CartItemCount) {
						Timber.i("getCartItemsCount ===== >>> ${itemCount.count}")
						EventBus.getDefault().postSticky(itemCount)
					}
				})
		}
	}

activity  این متود کال نمیشه 

@Subscribe(sticky = true,threadMode = ThreadMode.MAIN)
	fun onCartItemsCountChangeEvent(cartItemCount: CartItemCount) {
		Timber.i("-------- >>> change event badge ${cartItemCount.count}")
		val badge = bottomNavigationMain.getOrCreateBadge(R.id.cart)
		badge.badgeGravity = BadgeDrawable.BOTTOM_START
		badge.backgroundColor = MaterialColors.getColor(bottomNavigationMain, R.attr.colorPrimary)
		badge.number = cartItemCount.count
//		badge.verticalOffset = 10.toPx
		badge.isVisible = cartItemCount.count > 0
	}
فایل پیوست

Sezar
Sezar

15 مرداد 00

-1
حذف شده

بر اساس داکیومت باید رجیستر انجام بشه  مشکل حل میشه 

@Override
public void onStart() {
    super.onStart();
    EventBus.getDefault().register(this);
}
 
// UI updates must run on MainThread
@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void onEvent(MessageEvent event) {   
    textField.setText(event.message);
}
 
@Override
public void onStop() {
    EventBus.getDefault().unregister(this);    
    super.onStop();
}
فایل پیوست

Sezar

توسط

Sezar

15 مرداد 00

1
حذف شده

سلام

قبلا عمل رجیستر/آنرجسیتر رو در (NikeActivity) انجام دادیم، بررسی کنید که (MainActivity) شما این کلاس رو اکستند کرده باشه

فایل پیوست

محمد حسین احمدی

توسط

محمد حسین احمدی

21 مهر 00

جلسه صفحه سبد خرید: پیاده سازی badge تعداد آیتم های سبد خرید در Bottom Navigation