我正在尝试让我的微调器作为Action Bar下拉列表项目工作,但我似乎无法实现它,在搜索Google之后没有很多教程。我认为它与.setListNavigationCallbacks();代码行,我根本不知道如何从这一行开始工作。
// setup action bar for spinner
ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
bar.setListNavigationCallbacks();
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.tools_array_stopwatch, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
switch (arg2) {
case 0:
break;
case 1:
Intent countdown = new Intent(this, CountdownActivity.class);
startActivity(countdown);
break;
default :
break;
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
答案 0 :(得分:18)
第1步:摆脱你的Spinner
。
第二步:摆脱你的OnItemSelectedListener
。
第3步:将ArrayAdapter
作为setListNavigationCallbacks()
的第一个参数。
步骤4:提供ActionBar.OnNavigationListener
的实施作为setListNavigationCallbacks()
的第二个参数。
步骤5:在onNavigationItemSelected()
中的ActionBar.OnNavigationListener
回调方法中,根据导航状态的变化做任何你想做的事情(例如,执行{{1} }})。
步骤#6:重新设计您的应用程序,使其无法根据此导航选择启动活动,如上所述。从工具栏按钮或选项菜单项启动活动,或使用片段替换现有活动的UI(部分)。操作栏中的列表和标签导航为不,用于启动活动。