12

hereの回答の2番目のオプションを使用して、ActionBarにスピナーを追加しました。

スピナーアダプターをスピナーに追加するにはどうすればよいですか? Googleがここで説明しているように、Spinner オブジェクトを使用しようとしましたが、null の Spinner オブジェクトを取得しました。

誰でもこれを行う方法を知っていますか? スピナーをアクション バーのナビゲーション エリアに配置したくありませんが、他のアクション アイテムと一緒に配置します (分割アクション バーを使用しています)。

助けてくれてありがとう!

4

4 に答える 4

15

あなたがスピナーを捨てたことは知っていますが、他の人が同じ問題を抱えているか、別のアプリで同じパターンを開発するようになった場合に備えて、ここでいくつかのヒントを提供します

  • null を取得した場合は、ID を適切に指定しなかったことが原因です。ID を再確認してください。
  • 単なるスピナーである actionLayout を指定することによって複雑なものについて示したリンクの 1 つでは、トリックを実行する actionViewClass="android.widget.Spinner" を指定するだけです。
  • 次に、次のOnCreateOptionsMenuことを行います。

    inflater.inflate(R.menu.my_menu, menu); // inflate the menu
    Spinner s = (Spinner) menu.findItem(R.id.my_menu_spinner).getActionView(); // find the spinner
    SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(getActivity().getActionBar()
            .getThemedContext(), R.array.my_menu_spinner_list, android.R.layout.simple_spinner_dropdown_item); //  create the adapter from a StringArray
    s.setAdapter(mSpinnerAdapter); // set the adapter
    s.setOnItemSelectedListener(myChangeListener); // (optional) reference to a OnItemSelectedListener, that you can use to perform actions based on user selection
    

幸せなコーディング...

于 2012-07-30T11:38:32.443 に答える
6

さて、サブメニューを使用するためのスピナーのアイデアは捨てました。スピナーは、選択されたままのものを選択するためのものであることに気付きました。サブメニューは、UI に合わせて調整されています。

于 2012-07-10T07:47:42.317 に答える
-1
inflater.inflate(R.menu.my_menu, menu); // inflate the menu 

Spinner s = (Spinner) menu.findItem(R.id.my_menu_spinner).getActionView();     // find the spinner 
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(getActivity().getActionBar() .getThemedContext(), R.array.my_menu_spinner_list, android.R.layout.simple_spinner_dropdown_item);    // create the adapter from a StringArray 
s.setAdapter(mSpinnerAdapter);   // set the adapter 
s.setOnItemSelectedListener(myChangeListener);    // (optional) reference to a OnItemSelectedListener, that you can use to perform actions based on user selection
于 2015-03-23T12:20:23.367 に答える