zoukankan      html  css  js  c++  java
  • Android 在ActionBar中添加spinner

    按照官网

    http://developer.android.com/guide/topics/ui/actionbar.html#Dropdown  和翻译版

    http://hi.baidu.com/xmjmcai/item/6a05d50f260d45c49157180c 

    总是出一个问题。

            SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(getActivity(),
                    R.array.academic_list_action_spinner,
                    android.R.layout.simple_spinner_dropdown_item);
            ActionBar actionBar = getActivity().getActionBar();
            actionBar.setDisplayShowTitleEnabled(false);
            actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
            OnNavigationListener mOnNavigationListener = new OnNavigationListener(){
    
                @Override
                public boolean onNavigationItemSelected(int itemPosition,
                        long itemId) {
                    // TODO Auto-generated method stub
                    return false;
                }
                
            };
            actionBar.setListNavigationCallbacks(mSpinnerAdapter, mOnNavigationListener );

    最后一步总是报错,也不知什么原因。后来看到其他实现actionbar上的spinner的代码,知道了解决办法。

    SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(getActivity(),
                    R.array.academic_list_action_spinner,
                    android.R.layout.simple_spinner_dropdown_item);
            ActionBar actionBar = getActivity().getActionBar();
            actionBar.setDisplayShowTitleEnabled(false);
            actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
            
            class OnNavigationListener implements ActionBar.OnNavigationListener{
    
                @Override
                public boolean onNavigationItemSelected(int itemPosition,
                        long itemId) {
                    // TODO Auto-generated method stub
                    Toast.makeText(getActivity(), ""+itemPosition+"   "+itemId, Toast.LENGTH_SHORT).show();
                    return false;
                }
                
            }
            
            actionBar.setListNavigationCallbacks(mSpinnerAdapter, new OnNavigationListener() );

    我本来以为Java的这两种定义对象是一样的,现在看来还是有区别的,至于到底是什么原因我还不清楚。反正这样是可以解决的。

    还有一个问题,就是有一次总是定义完设置完spinner之后,怎么都显示不出来,最后原因是因为没有setNavigationMode(),所以调用setNavigationMode()方法将ActionBar的操作模型设置为ActionBar.NAVIGATION_MODE_LIST. 注意:这个步骤应该在Activity的onCreate()回调函数时执行。

  • 相关阅读:
    Druid Monitor开启登录界面
    nginx强制使用https访问(http跳转到https)
    技术与架构
    SQLProfiler_SQL抓包
    SQL UPDATE with INNER JOIN
    MYSQL业务数据简单脱敏方案
    阿里云CodePipeline vs Jenkins
    Java Profiling & Profilers
    LINUX操作系统(centos6.9)安装与配置
    分布式ID生成系统 UUID与雪花(snowflake)算法
  • 原文地址:https://www.cnblogs.com/wolf-bing/p/3154819.html
Copyright © 2011-2022 走看看