我正在使用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。
我该怎么做?
答案 0 :(得分:2)
您需要创建自己的适配器类,加载数据并覆盖getView()
以使用修改后的文本填充TextView
。这与创建自定义适配器以与常规Spinner
一起使用没有什么不同。