2013-04-02 119 views
3

我在我的ActionBarSherlock中有一个微调器,其中包含5个元素。通过点击屏幕底部的两个按钮之一(见图片),我想更改spinneritem id如何以编程方式在ActionBar中更改微调器中的项目

enter image description here

这是相关代码:

@Override 
public void onCreate(Bundle savedInstanceState) { 
/* ... some code ...*/ 
Context context = getSupportActionBar().getThemedContext(); 
ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(context, R.array.arr_contents, R.layout.sherlock_spinner_item); 
list.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item); 
    getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
    getSupportActionBar().setListNavigationCallbacks(list, this); 

    getSupportActionBar().setDisplayShowHomeEnabled(false); 
    getSupportActionBar().setTitle(title); 
/*... some other code ...*/ 
} 


@Override 
public boolean onNavigationItemSelected(int itemPosition, long itemId) { 

    switch(itemPosition) { 
     case 0: 
      // Do stuff 
      break; 
     case 1: 
      // Do stuff 
      break; 
     case 2: 
      // Do stuff 
      break; 
     case 3: 
      // Do stuff 
      break; 
     case 4: 
      // Do stuff 
      break; 
     default: 
      // Do stuff 
      break; 
    } 
    return true; 
} 

我已经打过电话onNavigationItemSelected(3, R.array.arr_contents);例如移动到微调的第三个元素,但它不能正常工作。 我该怎么办?

回答

6

不知道,但大概是:

getSupportActionBar().setSelectedNavigationItem(itemPosition); 

Docs

+0

非常感谢,它完美的作品! – Mangusto

相关问题