Android:Sherlock 操作栏下拉

标签 android drop-down-menu actionlistener actionbarsherlock

我正在尝试实现一个下拉列表作为 Android 中操作栏的导航。 我可以看到下拉列表和项目,但我无法获得点击事件。

自从我按照 http://developer.android.com/guide/topics/ui/actionbar.html 中的教程学习后,我不确定我错过了什么

这是我的代码:

public void onCreate(Bundle savedInstanceState) {
        OnNavigationListener mOnNavigationListener;
        super.onCreate(savedInstanceState);
        // setContentView(R.layout.info_layout);
        // getSupportActionBar().setHomeButtonEnabled(true);
         getSupportActionBar().setDisplayShowTitleEnabled(false);

        getSupportActionBar().setNavigationMode(getSupportActionBar().NAVIGATION_MODE_LIST);
        SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.navigation_array, android.R.layout.simple_dropdown_item_1line);
        mOnNavigationListener = new OnNavigationListener() {
            public boolean onNavigationItemSelected(int itemPosition, long itemId) {
                switch (itemPosition) {
                case 1:
                    Intent i = new Intent();
                    i.setClass(getApplicationContext(), ZoekAndBoekActivity.class);
                    break;
                case 2:
                    break;
                case 3:
                    break;
                case 4:
                    break;
                case 5:
                    break;
                }
                // return super.onOptionsItemSelected(itemPosition);
                return true;
            }
        };
        getSupportActionBar().setListNavigationCallbacks(mSpinnerAdapter, mOnNavigationListener);
    }

提前致谢!

最佳答案

你确定你没有得到点击事件吗?您正在创建 Intent 但不对其执行任何操作。尝试这样的事情:

switch (itemPosition) {
    case 1:
        Intent i = new Intent();
        i.setClass(getApplicationContext(), ZoekAndBoekActivity.class);
        startActivity(i);
        break;
    ...
}

或添加写入日志以确保:

public boolean onNavigationItemSelected(int itemPosition, long itemId) {
    Log.d("SomeTag", "Get click event at position: " + itemPosition);
    switch (itemPosition) {
        ...
    }
}

并在您单击项目时在 logcat 输出中查看带有“SomeTag”的消息。

关于Android:Sherlock 操作栏下拉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10735176/

相关文章:

android - 如何以应用程序的默认语言设置 google api 对话框的文本

java - 在java中为计数器添加一个 Action 监听器

java - 如何设置JButton点击时渐变颜色

android - 移动 videoView...使用平移动画

android - 如何在android中打印库项目的日志?

javascript - Android Javascript HTML 将包名称显示为值

javascript - 使用 onchange 选择下拉值

html - 如何更改下拉列表的宽度?

php - 过滤下拉选项

Java Swing - 从处理程序类重绘