我在操作栏上有一个菜单项,如
Arrays.xml已
<string-array name="days_of_the_week">
<item>Sunday</item>
<item>Monday</item>
<item>Tuesday</item>
<item>Wednesday</item>
<item>Thursday</item>
<item>Friday</item>
<item>Saturday</item>
</string-array>
活动:
public class ResultActivity extends SherlockListActivity implements ActionBar.OnNavigationListener{
//More code here
.
.
public void setupActionBar(){
this.invalidateOptionsMenu();
this.getSherlock().getActionBar().removeAllTabs();
ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(this, R.array.days_of_the_week, R.layout.sherlock_spinner_item);
list.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
this.getSherlock().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
this.getSherlock().getActionBar().setListNavigationCallbacks(list, this);
}
我使用ActionBarSherlock。默认情况下,菜单(星期日)的第一个元素被选中。但我想将当天作为默认值。
答案 0 :(得分:0)
如果我使用普通的微调器,我可以通过
设置默认值String day = customCurrentDay();
spinner.setSelection(day);
因为我使用了ActionBarSherlock, ArrayAdapter and NavigationListener
,
我必须从ArrayAdapter
和setSelectedNavigationItem
获取我想要的默认索引的位置,并将其作为参数传递。
this.getSherlock().getActionBar().setListNavigationCallbacks(list, this);
this.getSherlock().getActionBar().setSelectedNavigationItem(list.getPosition(day));