java - 在 onNavigationItemSelected 上获取微调器的项目文本

标签 java android actionbarsherlock android-spinner

我正在使用 ActionBarSherlock 来显示微调器:

ActionBar bar = getSupportActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

我已成功地让微调器显示 strings.xml 中定义的字符串数组中的两个选项:

SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.menu_list,
                  R.layout.sherlock_spinner_dropdown_item);

OnNavigationListener mOnNavigationListener = new OnNavigationListener() {

      @Override
      public boolean onNavigationItemSelected(int position, long itemId) {
       FragmentTransaction ft = getSupportFragmentManager().beginTransaction();  

       if(position==0)
       {
            CalendarFragment frag = new CalendarFragment();
            ft.replace(R.id.main, frag);

       }
       else
       {
            ConverterFragment frag = new ConverterFragment();
            ft.replace(R.id.main, frag);
       }
       ft.commit();


       return true;
      }
    };

bar.setListNavigationCallbacks(mSpinnerAdapter, mOnNavigationListener);

strings.xml:

  <string-array name="menu_list">
        <item>Calendar</item>
        <item>Converter</item>
    </string-array>

问题是我想获取所选数组项的文本并将另一个字符串添加到所选文本并在操作栏中显示为标题。

像这样:

"SOMESTRING" + Calendar

我不想在字符串数组本身中显示 SOMESTRING。

我该怎么做?

最佳答案

您将需要创建自己的适配器类、加载数据并重写 getView() 以使用修改后的文本填充您的 TextView。这与创建用于常规 Spinner 的自定义适配器没有什么不同。

关于java - 在 onNavigationItemSelected 上获取微调器的项目文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12954657/

相关文章:

android - FragmentPagerAdapter 怪癖和崩溃

java - 如何针对多个条件使用 View ,每个条件意味着禁用/启用不同的组件?

java - 在构造函数中传递 this

android - 如何使用 Gradle 脚本为应用程序构建 android 包?

java - 在BACKGROUND中通过android AlarmClock类设置闹钟

android - 无法更改 actionbarsherlock SearchView 图标

Android 设备选择器在目标列中显示红色 X

java - 如何使用apache-spark快速转换多节点上的大规模数据?

java - 链接列表,学生到某个学科

android - 从 Android sqlite 数据库中检索大 blob