2016-05-27 19 views
0

Ich habe Cart-Symbol in ToolBar. Wenn ich auf das Einkaufswagensymbol klicke, habe ich Code geschrieben, um zur nächsten Aktivität zu navigieren. Aber das Klicken funktioniert nicht. Hier ist mein Code. Bitte helfen Sie mir, es zu beheben.Klicken Sie auf Ereignis von ToolBar-Menü funktioniert nicht

+0

Haben Sie das Layout anklickbar machen? –

+0

Verwenden Sie MenuItemCompat.getActionView (menu.findItem (R.id.badge)), um die Aktionsansicht abzurufen. Es gibt eine Ansicht zurück. –

+0

Ja, ich habe das Layout anklickbar @FrederickEskens –

Antwort

-1

Stellen Sie sicher, dass das Layout anklickbar ist, indem Sie in seinem XML-Code android:clickable="true" definieren.

0

Lassen Sie sich diese versucht:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      //... 
     } 
     return super.onOptionsItemSelected(item); 
    } 
+0

Auch ich habe es versucht, aber nicht funktioniert. –

0

Ändern Sie den Code;

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 

    badgeLayout = (RelativeLayout) menu.findItem(R.id.badge).getActionView();   /*-------Cart Basket with Counter---------*/ 
    //instead of the above code try 
    View badgeLayoutView=MenuItemCompat.getActionView(menu.findItem(R.id.badge)); 
    mCounter = (TextView) badgeLayout.findViewById(R.id.counter); 

    CommonUtil.dbUtil.open(); 
    MainFragmentAdapter.CART_COUNT =String.valueOf(CommonUtil.dbUtil.getCartItem().getCount()); 
    MainActivity.mCounter.setText(MainFragmentAdapter.CART_COUNT); 

    invalidateOptionsMenu(); 

    //set the onClick listener to badgeLayoutView 
    badgeLayoutView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Config.menuItemClicked = true; 
      SharedPreferences.Editor editor = CommonUtil.pref.edit(); 
      editor.putBoolean("cart_Clicked", Config.menuItemClicked); 
      editor.apply(); 
      Intent next = new Intent(context, ProductActivity.class); 
      startActivity(next); 
     } 
    }); 
    return super.onCreateOptionsMenu(menu); 
} 

Und stellen Sie sicher, dass Sie die Aktionsansicht poroperly in Ihrer Menü-XML-Datei festlegen. Sie müssen die app:actionLayout

<item 
    android:title="Badge" 
    android:id="@+id/badge" 
    app:actionLayout="@layout/your_action_layout" 
    app:showAsAction="ifRoom"/> 
+0

Sorry..Hat nicht funktioniert –

Verwandte Themen