تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ علی خدری
BottomNavigation with NavigationUI
محمود نیک زاد حل شده توسط محمود نیک زاد

سلام 

من یک bottomNavigation ساختم.مدیریت اون رو از طریق NavigationUI انجام میدم.

الان همه چیز خوبه  مثلا وقتی روی تب خانه میزیم و به تب پروفایل می‌روم فرگمنت و آیکن bottomNavigation تغییر می‌کند.اما اگر دکمه بک رو بزنم فقط فرگمنت قبلی به من نمایش داده می‌شود ولی آیکن bottomNavigation از تب پروفایل به تب خانه تغییر نمی‌کند ! علت چیه که فرگمنت خوب کار می‌کنه اما دکمه‌های bottomNavigation اینطوری نیست?

سلام درود

متدی که با بک زدن کال میشه  onBackPressed ، داخلش باید ست کنی که باتم نویگیشن  وقتی بک میزنی ، روی کدوم آیتم ست بشه 

 bottomNavigation.setSelectedItem(1);

میتونی یه دستور شرطی هم بذاری که وقتی روی بک کلیک میشه و اگر باتم نویگیشن در حال حاضر روی همون آیتم پیش فرض است فقط supe.onBackPressed کال بشه

اگه هنوز مبهم بود کامنت کن تا کد کاملش برات بذارم 

محمود نیک زاد ۲۶ شهریور ۱۳۹۹، ۱۷:۵۴

ممنون که پاسخ دادی اما bottomNavigationView گزینه setSelectedItem نداره و گزینه setSelectedItemId داره.لطفا اگر راه حلی برای bottomNavigationView دارید راهنمایی کنید

علی خدری ۲۶ شهریور ۱۳۹۹، ۲۰:۴۲

سلام 

ببخشید من هنوز هیچ آشنایی با زبان کاتلین ندارم چون پروژت با زبان کاتلین ایجاد کردی و به سرفصلی که تایپیک سوال ایجاد کردی دقت نکردم برای همین با باتم نویگیشن  اشتبا گرفتم

این باتم نویگیشن متریال دیزان از کلاس BottomNavigationView اینطوری کدش بنویسی حله

  @Override
    public void onBackPressed() {
        if (bottomNavigationView.getSelectedItemId() ==R.id.menuItem_home) {
            super.onBackPressed();
        } else {
        bottomNavigationView.setSelectedItemId(R.id.menuItem_home);}
    }

 

بهترین پاسخ
محمود نیک زاد ۲۷ شهریور ۱۳۹۹، ۰۵:۰۷