scientific 5 ارسال شده در ۷ بهمن ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۷ بهمن ۱۳۹۵ (ویرایش شده) سلام من برای آیتم های نویگیشن دراور از منو استفاده کردم از طرفی یک منو دیگه هم دارم (menu_item) که فقط یک آیتم داره و باکلیک روی آن وارد اکتیویتی دیگه ای میشه... داخل متد onCreateOptionsMenu(Menu menu)، منوی menu_item رو inflate کردم و در متد onOptionsItemSelected(MenuItem item) دستور اینتنت نوشتم ... حالا برای نویگیشن دراور چطوری باید برای آیتم های منو خاصیت کلیک بنویسم در حالی که توی onCreateOption یک منو دیگه رو inflate کردم این طوری مینویسم کار نمیکنه: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_item, menu); return super.onCreateOptionsMenu(menu); } /*public boolean onCreateOptionsMenu2(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.navigation_item, menu); return super.onCreateOptionsMenu(menu); }*/ @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch (id) { case R.id.action_search: Intent intent= new Intent(MainActivity.this,Search.class); MainActivity.this.startActivity(intent); break; case R.id.khoruj: // MainActivity.this.closeOptionsMenu(); Toast.makeText(context,"Exit",Toast.LENGTH_SHORT).show(); break; } return true; } راهنمایی کنید ممنون میشم ویرایش شده ۷ بهمن ۱۳۹۵ توسط scientific نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Farzad Sarseifi 575 ارسال شده در ۸ بهمن ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۸ بهمن ۱۳۹۵ در 19 ساعت قبل، scientific گفته است : سلام من برای آیتم های نویگیشن دراور از منو استفاده کردم از طرفی یک منو دیگه هم دارم (menu_item) که فقط یک آیتم داره و باکلیک روی آن وارد اکتیویتی دیگه ای میشه... داخل متد onCreateOptionsMenu(Menu menu)، منوی menu_item رو inflate کردم و در متد onOptionsItemSelected(MenuItem item) دستور اینتنت نوشتم ... حالا برای نویگیشن دراور چطوری باید برای آیتم های منو خاصیت کلیک بنویسم در حالی که توی onCreateOption یک منو دیگه رو inflate کردم این طوری مینویسم کار نمیکنه: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_item, menu); return super.onCreateOptionsMenu(menu); } /*public boolean onCreateOptionsMenu2(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.navigation_item, menu); return super.onCreateOptionsMenu(menu); }*/ @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch (id) { case R.id.action_search: Intent intent= new Intent(MainActivity.this,Search.class); MainActivity.this.startActivity(intent); break; case R.id.khoruj: // MainActivity.this.closeOptionsMenu(); Toast.makeText(context,"Exit",Toast.LENGTH_SHORT).show(); break; } return true; } راهنمایی کنید ممنون میشم به این صورت انجام بدید : navigation_menu.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.item_exit: drawer.closeDrawer(GravityCompat.START); exit_dialog(); break; } return false; } }); 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
scientific 5 ارسال شده در ۸ بهمن ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۸ بهمن ۱۳۹۵ (ویرایش شده) آخه برای قسمت آیتم های نویگیشن یک "menu " ساختم به اسم:navigation_item (درواقع هدرش یک فایل xml هست و ایتم هاش منو) این setNavigationItemSelectedListener رو نمی شناسه <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_gravity="right"> <item android:title="@string/Settings"> <menu> <item android:title="تنظیمات" android:id="@+id/tanzimat" android:icon="@drawable/ic_settings_pink_500_24dp"/> </menu> </item> <item android:title="درباره ما" android:id="@+id/darbarema" android:icon="@drawable/ic_exit_to_app_pink_500_24dp"/> <item android:title="خروج" android:id="@+id/khoruj" android:icon="@drawable/ic_perm_contact_calendar_pink_500_24dp" android:orderInCategory="100"/> </menu> ویرایش شده ۸ بهمن ۱۳۹۵ توسط scientific نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
scientific 5 ارسال شده در ۹ بهمن ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ درواقع خاصیت Select رو برای آیتم های منو باید نوشت فکرکنم چون آیتم های نویگیشنم یک menu هستند... حالا باید چطوری خاصیت کلیک بزارم براش؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
scientific 5 ارسال شده در ۹ بهمن ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ در 20 ساعت قبل، Farzad Sarseifi گفته است : به این صورت انجام بدید : navigation_menu.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.item_exit: drawer.closeDrawer(GravityCompat.START); exit_dialog(); break; } return false; } }); درواقع خاصیت Select رو برای آیتم های منو باید نوشت فکرکنم چون آیتم های نویگیشنم یک menu هستند... حالا باید چطوری خاصیت کلیک بزارم براش؟ <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_gravity="right"> <item android:title="@string/Settings"> <menu> <item android:title="تنظیمات" android:id="@+id/tanzimat" android:icon="@drawable/ic_settings_pink_500_24dp"/> </menu> </item> <item android:title="درباره ما" android:id="@+id/darbarema" android:icon="@drawable/ic_exit_to_app_pink_500_24dp"/> <item android:title="خروج" android:id="@+id/khoruj" android:icon="@drawable/ic_perm_contact_calendar_pink_500_24dp" android:orderInCategory="100"/> </menu> نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
a.khosroabadi 100 ارسال شده در ۹ بهمن ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ در 12 دقیقه قبل، scientific گفته است : درواقع خاصیت Select رو برای آیتم های منو باید نوشت فکرکنم چون آیتم های نویگیشنم یک menu هستند... حالا باید چطوری خاصیت کلیک بزارم براش؟ سلام دوست عزیز شما میتونی به این صورت عمل کنی اکتیویتی به این صورت تعریف کن public class BaseActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener{ @Override public boolean onNavigationItemSelected(MenuItem item) { drawerLayout.closeDrawers(); switch (item.getItemId()) { case R.id.plants_drawer: { Intent intent = new Intent(BaseActivity.this, PlantActivity.class); startActivity(intent); return true; } case R.id.fishes_drawer: Intent intent = new Intent(BaseActivity.this, FishActivity.class); startActivity(intent); return true; /* case R.id.pest_algae_drawer: Toast.makeText(getApplicationContext(), "pest", Toast.LENGTH_SHORT).show(); return true;*/ case R.id.calculator_drawer: Toast.makeText(getApplicationContext(), "calculator", Toast.LENGTH_SHORT).show(); return true; default: return true; } } } 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
scientific 5 ارسال شده در ۹ بهمن ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ سلام ممنون الان امتحان می کنم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
scientific 5 ارسال شده در ۹ بهمن ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ در 17 دقیقه قبل، a.khosroabadi گفته است : سلام دوست عزیز شما میتونی به این صورت عمل کنی اکتیویتی به این صورت تعریف کن public class BaseActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener{ @Override public boolean onNavigationItemSelected(MenuItem item) { drawerLayout.closeDrawers(); switch (item.getItemId()) { case R.id.plants_drawer: { Intent intent = new Intent(BaseActivity.this, PlantActivity.class); startActivity(intent); return true; } case R.id.fishes_drawer: Intent intent = new Intent(BaseActivity.this, FishActivity.class); startActivity(intent); return true; /* case R.id.pest_algae_drawer: Toast.makeText(getApplicationContext(), "pest", Toast.LENGTH_SHORT).show(); return true;*/ case R.id.calculator_drawer: Toast.makeText(getApplicationContext(), "calculator", Toast.LENGTH_SHORT).show(); return true; default: return true; } } } نوشتم ولی موقع کلیک هیچ اتفاقی نمیفته شما آیتم های نویگیشنتون رو با menu ساخته بودید؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
a.khosroabadi 100 ارسال شده در ۹ بهمن ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ در 2 دقیقه قبل، scientific گفته است : نوشتم ولی موقع کلیک هیچ اتفاقی نمیفته شما آیتم های نویگیشنتون رو با menu ساخته بودید؟ بله با منو ساخته بودم. id هارو درست میدین چون به نظرم نباید مشکلی داشته باشه. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
scientific 5 ارسال شده در ۹ بهمن ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ البته من همون activityMain رو implement کردم از NavigationView.OnNavigationItemSelectedListener چون نویگیشنم رو توی setContentView اکتیویتی اصلیم قرار دادم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
scientific 5 ارسال شده در ۹ بهمن ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ در هم اکنون، a.khosroabadi گفته است : بله با منو ساخته بودم. id هارو درست میدین چون به نظرم نباید مشکلی داشته باشه. بله درست میدم فعلا برای یک id می نویسم: @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { mDrawerlayout.closeDrawers(); switch (item.getItemId()) { case R.id.darbare: { Intent intent = new Intent(MainActivity.this, DarbareActivity.class); startActivity(intent); return true; } /*case R.id.fishes_drawer: Intent intent = new Intent(BaseActivity.this, FishActivity.class); startActivity(intent); return true; *//* case R.id.pest_algae_drawer: Toast.makeText(getApplicationContext(), "pest", Toast.LENGTH_SHORT).show(); return true;*//* case R.id.calculator_drawer: Toast.makeText(getApplicationContext(), "calculator", Toast.LENGTH_SHORT).show(); return true;*/ default: return true; } } نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
a.khosroabadi 100 ارسال شده در ۹ بهمن ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ در 2 دقیقه قبل، scientific گفته است : البته من همون activityMain رو implement کردم از NavigationView.OnNavigationItemSelectedListener چون نویگیشنم رو توی setContentView اکتیویتی اصلیم قرار دادم این کد کامل این اکتیویتی من هستش. public class BaseActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { protected Toolbar mToolbar; protected DrawerLayout drawerLayout; protected NavigationView navigationView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_base); /* mToolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayShowTitleEnabled(false); */ drawerLayout = (DrawerLayout) findViewById(R.id.home_activity_drawer_layout); if (getWindow().getDecorView().getLayoutDirection() == View.LAYOUT_DIRECTION_LTR) { getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); } navigationView = (NavigationView) findViewById(R.id.navigation_view); navigationView.setNavigationItemSelectedListener(this); } @Override public boolean onNavigationItemSelected(MenuItem item) { drawerLayout.closeDrawers(); switch (item.getItemId()) { case R.id.plants_drawer: { Intent intent = new Intent(BaseActivity.this, PlantActivity.class); startActivity(intent); return true; } case R.id.fishes_drawer: Intent intent = new Intent(BaseActivity.this, FishActivity.class); startActivity(intent); return true; /* case R.id.pest_algae_drawer: Toast.makeText(getApplicationContext(), "pest", Toast.LENGTH_SHORT).show(); return true;*/ case R.id.calculator_drawer: Toast.makeText(getApplicationContext(), "calculator", Toast.LENGTH_SHORT).show(); return true; default: return true; } } private void showDrawer() { drawerLayout.openDrawer(GravityCompat.START); } private void hideDrawer() { drawerLayout.closeDrawer(GravityCompat.START); } @Override public void onBackPressed() { if (drawerLayout.isDrawerOpen(GravityCompat.START)) hideDrawer(); else super.onBackPressed(); } @Override protected void attachBaseContext(Context context){ super.attachBaseContext(CalligraphyContextWrapper.wrap(context)); } } این قسمت رو هم اضافه کنید. من فراموش کردم متاسفانه navigationView.setNavigationItemSelectedListener(this); 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
scientific 5 ارسال شده در ۹ بهمن ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ (ویرایش شده) در 16 دقیقه قبل، a.khosroabadi گفته است : این کد کامل این اکتیویتی من هستش. public class BaseActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { protected Toolbar mToolbar; protected DrawerLayout drawerLayout; protected NavigationView navigationView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_base); /* mToolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayShowTitleEnabled(false); */ drawerLayout = (DrawerLayout) findViewById(R.id.home_activity_drawer_layout); if (getWindow().getDecorView().getLayoutDirection() == View.LAYOUT_DIRECTION_LTR) { getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); } navigationView = (NavigationView) findViewById(R.id.navigation_view); navigationView.setNavigationItemSelectedListener(this); } @Override public boolean onNavigationItemSelected(MenuItem item) { drawerLayout.closeDrawers(); switch (item.getItemId()) { case R.id.plants_drawer: { Intent intent = new Intent(BaseActivity.this, PlantActivity.class); startActivity(intent); return true; } case R.id.fishes_drawer: Intent intent = new Intent(BaseActivity.this, FishActivity.class); startActivity(intent); return true; /* case R.id.pest_algae_drawer: Toast.makeText(getApplicationContext(), "pest", Toast.LENGTH_SHORT).show(); return true;*/ case R.id.calculator_drawer: Toast.makeText(getApplicationContext(), "calculator", Toast.LENGTH_SHORT).show(); return true; default: return true; } } private void showDrawer() { drawerLayout.openDrawer(GravityCompat.START); } private void hideDrawer() { drawerLayout.closeDrawer(GravityCompat.START); } @Override public void onBackPressed() { if (drawerLayout.isDrawerOpen(GravityCompat.START)) hideDrawer(); else super.onBackPressed(); } @Override protected void attachBaseContext(Context context){ super.attachBaseContext(CalligraphyContextWrapper.wrap(context)); } } این قسمت رو هم اضافه کنید. من فراموش کردم متاسفانه navigationView.setNavigationItemSelectedListener(this); خیلی خیلی ممنونم درست شد... فقط این کد drawerLayout.closeDrawers(); برای چی بود ؟ برای من فورس کلوز میدادو برنامم رو می بست حذفش کردم و یه سوال دیگه اگر بخوام با آیتم خروج برنامم بسته بشه باید چی بنویسم ویرایش شده ۹ بهمن ۱۳۹۵ توسط scientific 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
a.khosroabadi 100 ارسال شده در ۹ بهمن ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۹ بهمن ۱۳۹۵ در 2 دقیقه قبل، scientific گفته است : خیلی خیلی ممنونم درست شد... فقط این کد drawerLayout.closeDrawers(); برای چی بود ؟ برای من فورس کلوز میدادو برنامم رو می بست حذفش کردم و یه سوال دیگه اگر بخوام با آیتم خروج برنامم بسته بشه باید چی بنویسم این کد برای بسته شدن دراور هستش. برای اینکه از برنامه خارج بشین میتونید از متدهای زیر استفاده کنید finish(); System.exit(0); 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .