2012-05-24 12 views
5

Androidのアクションバーのナビゲーションとしてドロップダウンリストを実装しようとしています。 ドロップダウンリストと項目が表示されますが、クリックイベントは表示されません。私はhttp://developer.android.com/guide/topics/ui/actionbar.htmlAndroid:Sherlockアクションバーのドロップダウン

でチュートリアルを以下ましたので、私は私が欠けているかわからないんだけど

これは私のコードです:事前に

public void onCreate(Bundle savedInstanceState) { 
     OnNavigationListener mOnNavigationListener; 
     super.onCreate(savedInstanceState); 
     // setContentView(R.layout.info_layout); 
     // getSupportActionBar().setHomeButtonEnabled(true); 
     getSupportActionBar().setDisplayShowTitleEnabled(false); 

     getSupportActionBar().setNavigationMode(getSupportActionBar().NAVIGATION_MODE_LIST); 
     SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.navigation_array, android.R.layout.simple_dropdown_item_1line); 
     mOnNavigationListener = new OnNavigationListener() { 
      public boolean onNavigationItemSelected(int itemPosition, long itemId) { 
       switch (itemPosition) { 
       case 1: 
        Intent i = new Intent(); 
        i.setClass(getApplicationContext(), ZoekAndBoekActivity.class); 
        break; 
       case 2: 
        break; 
       case 3: 
        break; 
       case 4: 
        break; 
       case 5: 
        break; 
       } 
       // return super.onOptionsItemSelected(itemPosition); 
       return true; 
      } 
     }; 
     getSupportActionBar().setListNavigationCallbacks(mSpinnerAdapter, mOnNavigationListener); 
    } 

おかげでたくさん!

答えて

4

クリックイベントが発生していませんか?あなたは意図を作り出していますが、何もしません。

switch (itemPosition) { 
    case 1: 
     Intent i = new Intent(); 
     i.setClass(getApplicationContext(), ZoekAndBoekActivity.class); 
     startActivity(i); 
     break; 
    ... 
} 

か確認するために、ログへの書き込みを追加します:

public boolean onNavigationItemSelected(int itemPosition, long itemId) { 
    Log.d("SomeTag", "Get click event at position: " + itemPosition); 
    switch (itemPosition) { 
     ... 
    } 
} 

、あなたが項目をクリックすると、「SomeTag」とのメッセージをlogcat出力に表示このような何かを試してみてください。私は)それが役立ちます:)ホープ.. return文は、スイッチケース内部に偽でなければならない、とあなたのケースは、ブラケットを持っている必要があります考えて

+0

は何もしません、でもonNavigationItemSelected – noloman

+2

に入りません@nolomanあなたのソリューションがここに挙げたものと異なる場合は、あなたが投稿した場合、他の人に役立つでしょう。 –

+0

選択したポジションのアイテムはどのように入手できますか? –

-1

+1

caseステートメントは大括弧を必要とせず、それぞれのケースは 'true'を返す必要があります。 –