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
A
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 –
Haben Sie das Layout anklickbar machen? –
Verwenden Sie MenuItemCompat.getActionView (menu.findItem (R.id.badge)), um die Aktionsansicht abzurufen. Es gibt eine Ansicht zurück. –
Ja, ich habe das Layout anklickbar @FrederickEskens –