11

スピナーをアクション バーのドロップダウン リスト アイテムとして機能させようとしていますが、まったく実装できないようです。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

}
4

1 に答える 1

18

ステップ #1: Spinner.

ステップ #2: OnItemSelectedListener.

ステップ #3: yourArrayAdapterを の最初のパラメーターとして指定しsetListNavigationCallbacks()ます。

ステップ #4:ActionBar.OnNavigationListenerの 2 番目のパラメーターとして の実装を提供しますsetListNavigationCallbacks()

ステップ #5: のonNavigationItemSelected()コールバック メソッドでActionBar.OnNavigationListener、ナビゲーションの状態の変化に基づいて実行したいことを実行します (たとえば、 を実行しますFragmentTransaction)。

ステップ #6: 上記で試みているように、このナビゲーション選択に基づいてアクティビティを開始しないようにアプリケーションを再設計します。ツールバー ボタンまたはオプション メニュー項目からアクティビティを開始するか、フラグメントを使用して既存のアクティビティの UI (の一部) を置き換えます。アクション バーのリストとタブのナビゲーションは、アクティビティを起動するためのものではありません。

于 2011-12-28T23:53:00.303 に答える