مشخص کردن آیتم انتخاب شده

پرسیده شده
فعالیت 1471 روز پیش
دیده شده 619 بار
1

چطور ایتمی که در navigation Drawer انتخاب میشه رو مشخص کنیم تا کاربر بدون در کدوم صفحه هست؟ ممنون

فایل پیوست

5
حذف شده

سلام حسن عزیز

به آکادمی خوش اومدی 

برای این کار میتونی از کد زیر استفاده کنی:

navigationView.getMenu().getItem(0).setChecked(true);

که با این روش میای و ایندکس رو میگیری و اون رو به حالت چک شده قرار میدی .

یا میتونی 

navigationView.setCheckedItem(آی دی ایتم مورد نظر);

با این روش ای دی که برای ایتم مورد نظر ست کردی بنویسی در کرلی براکت و به حالت چک شده درش بیاری.

یا میتونی برای مدیریت بهتر بیای و متد زیر رو در کلاست آورراید کنی و یه سوییچ بذاری و عملیاتی که میخای روی هر ایتم قرار بدی 

@Override
public boolean onNavigationItemSelected(MenuItem item) {
  switch (item.getItemId()){ ....... };
}

که مثلا اگر ایتم ما برابر بود با فلان ای دی , فرگمنت فلان رو به نمایش بگذار.

و همچنین اگر بخواهی در کد XML منو هم میتونی با اتربیوت Chackable یا Checked  ایتمتو به حالت انتخاب در بیاری که بدین صورت دیگه نمیتونی مدیریت روشون داشته باشی  و  صرفا حالت انتخاب رو داری.

یا اگر هم نخواستی آورراید در کلاست کنی میتونی این متد زیر رو روی instance مروبوط به نویگیشن ویو کال کنی (شبیه onClickListener) و روی ایتم ها عملایت دلخواهتو انجام بدی 

navigationView.onNavigationItemSelected(MenuItem item)

سوال بود بپرس 

پیروز باشی.

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

30 فروردین 99

حذف شده
آقا پوريا فكر ميكنم كه اتربيوت Checkable يه چيز ديگس و با اون نميشه آيتم مورد نظر رو انتخاب كرد.اين اتربيوت صرفا براي قابليت انتخاب شدن آيتم هاست كه به صورت پيش فرض براي همه آيتم ها مقدار true مي باشد.
محمد پوررضا

8 آبان 99

5
حذف شده

سلام ممنون

اینکار رو انجام دادم اما مشکلی که پیش میاد اینه که اون ایتمی که checked رو فعال کنی روی اون حالت میمونه و مثلا با انتخاب آیتم دیگه اون checked از بین نمیره.

من این مشکل رو از توی فایل منو حل کردم.

فقط کافیه آیتم های منو رو توی یک group قرار بدی و خاصیت CheckableBehavior رو برابر true قرار بدی در این حالت هر ایتمی که انتخاب کنی خودش به اصطلاح تغییر رنگ میده. :)

فایل پیوست