我希望操作栏中有一个微调器,显示标题Options
始终,无论选择哪一个。
此时,上方框会在选中后立即显示所选项。
我怎么能得到那个?
这是我的代码
MenuItem menuItem = menu.findItem(R.id.actionbar_nextevents);
if (menuItem!=null){
Spinner spinner = (Spinner) MenuItemCompat.getActionView(menuItem);
List<String> list = new ArrayList<String>();
list.add("Option 1");
list.add("Option 2");
list.add("Option 3");
spinner.setAdapter(new ArrayAdapter<String>(this, R.layout.listitem_nextevents, R.id.option, list));
}
答案 0 :(得分:0)
你试过这个:
MenuItem menuItem = menu.findItem(R.id.actionbar_nextevents);
if (menuItem != null) {
Spinner spinner = (Spinner) MenuItemCompat.getActionView(menuItem);
List<String> list = new ArrayList<String>();
list.add("Options ");
list.add("Option 1");
list.add("Option 2");
list.add("Option 3");
spinner.setAdapter(new ArrayAdapter<String>(this,
R.layout.listitem_nextevents, R.id.option, list));
spinner.setSelection(0);
}
答案 1 :(得分:0)
尝试以下代码
打开menu.xml并粘贴到代码
下面<item
android:title="select city"
android:id="@+id/my_menu_spinner"
yourapp:actionViewClass="android.widget.Spinner"
yourapp:showAsAction="ifRoom"/>
活动类中的覆盖onCreateOptionMenu()方法并写下代码
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
spinner = (Spinner) menu.findItem(R.id.my_menu_spinner)
.getActionView(); // find the spinner
citieslist.add(cityName);
}
ArrayAdapter mSpinnerAdapter = new ArrayAdapter<String>(
this.getSupportActionBar().getThemedContext(), R.layout.spinner_item, citieslist);
mSpinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(mSpinnerAdapter);
return true
}
在布局中创建文件spinne_item.xml并粘贴到代码
下面<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="top"
android:singleLine="true"
android:textColor="#455560" />
答案 2 :(得分:0)
那些仍在苦苦挣扎的人的迟到回复!
你的微调器的第一个选项应该是你的头衔!
那么当你处理每个选项时,只需将这一行放在最后。spinner.setSelection(0);
这样,每次选择一个选项时,标题都会成为第一个选项
示例:
switch (position) {
case 0:
//my other methods and...
spinner.setSelection(0);
break;
case 1:
//my other methods and...
spinner.setSelection(0);
break;
case 2:
//my other methods and...
spinner.setSelection(0);
break;