我想在我的活动中的操作栏中使用微调器是onCreateOptionsMenu:我使用
this tutorial来实现这种方法.我的问题是当活动是午餐时,onNavigationItemSelected方法触发,并且交换机/案例上的代码运行,我为位置0设置的活动打开.当活动是午餐时,我该怎么做以防止运行开关/案例?
@Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.main,menu); SpinnerAdapter mSpinnerAdapter; if(Build.VERSION.SDK_INT <= 10) { mSpinnerAdapter = ArrayAdapter.createFromResource(this,R.array.spinner_data,android.R.layout.simple_spinner_item); } else { mSpinnerAdapter = ArrayAdapter.createFromResource(this,android.R.layout.simple_spinner_dropdown_item); } ActionBar.OnNavigationListener mOnNavigationListener = new ActionBar.OnNavigationListener() { @Override public boolean onNavigationItemSelected(int position,long itemId) { switch (position) { case 0: Intent searchIntent = new Intent(ActivitySearchBusiness.this,ActivityFindBusinessCity.class); startActivity(searchIntent); break; case 2: Intent dealsIntent = new Intent(ActivitySearchBusiness.this,ActivityDeals.class); startActivity(dealsIntent); break; case 3: Intent eventsIntent = new Intent(ActivitySearchBusiness.this,ActivityEvents.class); startActivity(eventsIntent); break; } return true; } }; actionBar.setListNavigationCallbacks(mSpinnerAdapter,return super.onCreateOptionsMenu(menu); }
解决方法
您不需要onCreateOptionsMenu(菜单)中的以下代码:
….
….
将其删除并将其放入活动的onCreate(Bundle)方法中.
编辑:
声明一个全局布尔变量:
boolean initializing = true;
将以下代码放在onCreate(Bundle)中:
SpinnerAdapter mSpinnerAdapter; if(Build.VERSION.SDK_INT <= 10) { mSpinnerAdapter = ArrayAdapter.createFromResource(this,android.R.layout.simple_spinner_item); } else { mSpinnerAdapter = ArrayAdapter.createFromResource(this,android.R.layout.simple_spinner_dropdown_item); } ActionBar.OnNavigationListener mOnNavigationListener = new ActionBar.OnNavigationListener() { @Override public boolean onNavigationItemSelected(int position,long itemId) { if (initializing) { initializing = false; } else { switch (position) { case 0: Intent searchIntent = new Intent(ActivitySearchBusiness.this,ActivityEvents.class); startActivity(eventsIntent); break; } } return true; } }; //actionBar.setListNavigationCallbacks(mSpinnerAdapter,mOnNavigationListener); getActionBar().setListNavigationCallbacks(mSpinnerAdapter,mOnNavigationListener);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。