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()
。まったく機能しません。