android - 如何以编程方式更改 ActionBar 中微调器中的项目

标签 android spinner

我的 ActionBarSherlock 中有一个微调器,其中包含 5 个元素。通过单击屏幕底部的两个按钮之一(参见图片),我想更改 spinneritem id

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); 例如移动到微调器的第三个元素,但它不起作用。 我该怎么做?

最佳答案

不确定但可能:

getSupportActionBar().setSelectedNavigationItem(itemPosition);

Docs

关于android - 如何以编程方式更改 ActionBar 中微调器中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15770933/

相关文章:

android - 我如何通过代码锁定设备的方向

javascript - 完全 Javascript Ajax 旋转器?

java - 如何获取用户在相关微调器上选择的数据?

使用微调器从国家名称中获取 Android 国家/地区代码

c# - 使用 JSON 和 MultipartEntity 将图像从 Android 发送到 WCF

java - 有什么方法可以跟踪或监听用户点击浏览器中的任何链接,或任何聊天信使应用程序甚至短信吗?

Android 如何知道你的标签何时获得焦点,

java - Android 自定义微调器,带图像选择功能

android - 尝试将项目放入微调器时出错-Android

java - GPS 设置为开启且应用程序在首次启动时崩溃