1

ActionBarSherlockを使用してスピナーを表示しています。

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

スピナーに次のように定義された文字列配列から2つのオプションを表示させることに成功しました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を表示したくありません。

これどうやってするの?

4

1 に答える 1

2

独自のアダプター クラスを作成し、データをロードし、オーバーライドして変更したテキストgetView()を入力する必要があります。TextViewこれは、通常の で使用するカスタム アダプタを作成するのと同じですSpinner

于 2012-10-18T13:44:48.743 に答える