添加微調器
回答
嗯,我放棄了使用子菜單的Spinner想法。我意識到那個微調者是用來挑選一直保持選擇的東西的;子菜單是一個更好的UI適合。
謝謝反正。
P.S. 我是新來的。如果回答我自己的問題讓社區煩惱,請讓我知道。我想成爲一個好公民。我已經從你們那裏得到了很多幫助。
我知道你拋棄了微調,但我會給一些暗示這裏的情況下,其他人是有同樣的問題,或者你來開發同樣的模式在不同的應用程序
- 如果你有空是因爲你沒有正確指定ID。仔細檢查ID。
- 通過指定一個只是一個微調器的actionLayout,您可以指定一個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
快樂編碼...
我知道這是一個老問題,但以防萬一有人絆倒它(像我一樣),並且仍然在尋找完整的答案,下面介紹如何使用兼容性庫進行操作,使其可以從v7(Android 2.1 Eclair)到當前的v19(Android 4.4 KitKat):
在menu_layout.xml中:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/spinner"
yourapp:showAsAction="ifRoom"
yourapp:actionViewClass="android.widget.Spinner" />
</menu>
使用http://schemas.android.com/apk/res-auto
命名空間別名爲yourapp
使您可以使用屬性showAsAction和actionViewClass不上舊版本的Android的存在。
然後在您的活動代碼:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_layout, menu);
MenuItem item = menu.findItem(R.id.spinner);
Spinner spinner = (Spinner) MenuItemCompat.getActionView(item);
spinner.setAdapter(adapter); // set the adapter to provide layout of rows and content
spinner.setOnItemSelectedListener(onItemSelectedListener); // set the listener, to perform actions based on item selection
的Et瞧!
如果您不想擔心舊版本,那麼yourapp命名空間不是必需的,您可以使用android命名空間。此外,這與CursorLoaders完美結合。 – lalitm 2014-04-24 05:07:54
由於目前Android 2.3.3(API v10)仍佔android市場的18%(請參閱[Android Dashboard](http://developer.android.com/about/dashboards/index.html)數字),我認爲提供兼容性答案很重要。但是如果您的應用程序的最小目標sdk高於Android 3.0(API v11),那麼您的android命名空間就足夠了。 – 2014-04-28 13:02:52
@lalitm如果您注意到了,它是針對兼容性庫的。如果你的目標是成爲BC,這肯定是必需的。 – frostymarvelous 2016-02-17 13:50:02
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
- 1. Angular2 - 如何添加加載微調器?
- 2. 動態數據添加到微調器,但是,微調
- 3. 如何添加微調器到AlertDialog.Builer?
- 4. 動態添加微調器到RelativeLayout
- 5. 在小部件中添加微調器
- 6. 動態添加jQuery UI微調器
- 7. Flex數字微調器,想添加0
- 8. 如何添加微調器到RecyclerView
- 9. 如何爲微調器添加空間?
- 10. 在片段中添加微調器
- 11. 如何添加自定義微調器?
- 12. 將微調器添加爲ListView數據
- 13. 添加分隔微調項
- 14. 製作加載微調器
- 15. 添加加入登錄微調(jquery)
- 16. 如何添加一個加載「微調」
- 17. 如何在Ajax調用上添加UI微調器?
- 18. 在新圖像完全加載時添加微調器
- 19. 如何在異步路由加載時添加微調器?
- 20. 添加加載微調器的WebView的Andriod應用
- 21. 如何將加載微調器添加到WooCommerce結帳頁面
- 22. 在Ajax調用上加載微調器
- 23. Android微調項目添加項目
- 24. Android微調添加/刪除條目
- 25. 添加類與微調之前繼續
- 26. 俊男項目添加到微調
- 27. 微調項目添加項目
- 28. listview在每一行添加微調框?
- 29. 如何添加微調到ActionBar?
- 30. 如何添加取消內部微調
任何想法這將如何工作的自定義適配器?我使用圖片而不是文本字顯示在Spinner中,所以行'SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(getActivity()。getActionBar() .getThemedContext(),R.array.my_menu_spinner_list,android.R。 'layout.simple_spinner_dropdown_item);'對於自定義適配器''必須不同。無法弄清楚如何。 – Azurespot 2015-05-25 09:45:57
只需調用您在自定義適配器上的任何構造函數即可。 'SpinnerAdapter mSpinnerAdapter = new MyCustomAdapter()' – Budius 2015-05-25 09:47:55
感謝Budius,我是這麼做的,但由於某種原因,下拉不會發生。我想這是因爲'android.R.layout.simple_spinner_dropdown_item'在我的自定義適配器中缺失(因爲它使用Spinner行作爲ImageView,drawables數組進入的地方)。但不知道這是否是問題。如果你想看看我的代碼:http://stackoverflow.com/questions/30433501/custom-spinner-not-showing-dropdown-in-actionbar-icon這個問題還沒有答案。謝謝。 – Azurespot 2015-05-25 10:05:16