【问题标题】:How to add spinner in action bar menu items如何在操作栏菜单项中添加微调器
【发布时间】:2014-09-08 09:30:39
【问题描述】:
我已经对此进行了很多搜索,但每个人都只是将标题更改为微调器。
我想要一些东西,比如我添加菜单项并将其添加到它的代码中。
<item
android:id="@+id/spListOpt"
android:showAsAction="always"
android:actionViewClass="android.widget.Spinner"
android:title="@string/logout"
/>
在堆栈溢出时看到了这个,但它在操作栏上没有显示任何内容。
附上图片便于理解。
【问题讨论】:
标签:
android
android-actionbar
android-spinner
【解决方案1】:
您可以为此设置自定义视图,
示例:
MenuItem menuItem = menu.findItem(R.id.spListOpt);
menuItemRefresh = MenuItem.setActionView(menuItem,R.layout.customview);
参考:
setActionView for MenuItem
example
【解决方案2】:
您可以通过以下方式将微调器添加到操作栏:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate your menu layout
getMenuInflater().inflate(R.menu.main_activity_menu, menu);
MenuItem menuItem = menu.findItem(R.id.spListOpt);
Spinner yourSpinnerName = (Spinner) menuItem.getActionView();
ArrayList<String> spinnerStringArray = new ArrayList<>();
//Add your data to your array
spinnerStringArray.add("ItemOne");
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_dropdown_item_1line, mSpinnerStringArray);
yourSpinnerName.setAdapter(spinnerAdapter);
return true;
}