getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.actionOptions, android.R.layout.simple_dropdown_item_1line);
Calendar c = Calendar.getInstance();
int hours = c.get(Calendar.HOUR_OF_DAY);
if(hours<6)
{
getSupportActionBar().setSelectedNavigationItem(1);
supportInvalidateOptionsMenu();
}
else if(hours>=21)
{
getSupportActionBar().setSelectedNavigationItem(1);
supportInvalidateOptionsMenu();
}
else
{
getSupportActionBar().setSelectedNavigationItem(0);
supportInvalidateOptionsMenu();
}
OnNavigationListener mOnNavigationListener = new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
// TODO Auto-generated method stub
switch(itemPosition){
case 0:
isMode = "dMode";
break;
case 1:
isMode = "nMode";
break;
default:
}
return false;
}
};
getSupportActionBar().setListNavigationCallbacks(mSpinnerAdapter, mOnNavigationListener);
在下面的代码中,我试图根据一天中的时间在操作栏中设置下拉菜单。如果是在晚上 9 点到下午 6 点之间,则设置模式 A,否则设置模式 B。根据默认定义,模式A设置在索引位置1,模式B设置在索引位置2。但是代码似乎不起作用。请帮忙。我确实尝试了没有supportInvalidateOptionsMenu()
. 它根本不起作用。