我正在使用 ActionBarSherlock 来显示微调器:
ActionBar bar = getSupportActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
我已成功地让微调器显示 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。
我该怎么做?
最佳答案
您将需要创建自己的适配器类、加载数据并重写 getView()
以使用修改后的文本填充您的 TextView
。这与创建用于常规 Spinner
的自定义适配器没有什么不同。
关于java - 在 onNavigationItemSelected 上获取微调器的项目文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12954657/