如何将我的微调器添加到ActionBar?

时间:2011-12-28 22:50:10

标签: android spinner android-actionbar android-spinner

我正在尝试让我的微调器作为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

}

1 个答案:

答案 0 :(得分:18)

第1步:摆脱你的Spinner

第二步:摆脱你的OnItemSelectedListener

第3步:将ArrayAdapter作为setListNavigationCallbacks()的第一个参数。

步骤4:提供ActionBar.OnNavigationListener的实施作为setListNavigationCallbacks()的第二个参数。

步骤5:在onNavigationItemSelected()中的ActionBar.OnNavigationListener回调方法中,根据导航状态的变化做任何你想做的事情(例如,执行{{1} }})。

步骤#6:重新设计您的应用程序,使其无法根据此导航选择启动活动,如上所述。从工具栏按钮或选项菜单项启动活动,或使用片段替换现有活动的UI(部分)。操作栏中的列表和标签导航为,用于启动活动。