Clic del elemento de la barra de herramientas

Estoy usando la barra de herramientas en mi aplicación. El diseño de la barra de herramientas se ve así. Añado imageButton dentro de la barra de herramientas como elemento de menú. (¿Es eso un problema?) Como soy nuevo en la barra de herramientas, no sé si esta es la forma correcta.

 <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_gravity="top" android:layout_height="@dimen/abc_action_bar_default_height_material" android:minHeight="?attr/actionBarSize" android:gravity="right" android:background="?attr/colorPrimaryDark"> <ImageButton android:src="@drawable/ic_action_social_share" android:layout_width="48dp" android:layout_height="48dp" android:layout_gravity="right" android:layout_marginRight="8dp" android:background="?selectableItemBackground" android:id="@+id/shareButton" /> <ImageButton android:src="@drawable/ic_tag" android:layout_width="48dp" android:layout_height="48dp" android:layout_gravity="right" android:layout_marginRight="8dp" android:background="?selectableItemBackground" android:id="@+id/tagButton" /> <ImageButton android:src="@drawable/ic_action_action_bookmark" android:layout_width="48dp" android:layout_height="48dp" android:layout_gravity="right" android:layout_marginRight="8dp" android:background="?selectableItemBackground" android:id="@+id/bookmarkButton" /> </android.support.v7.widget.Toolbar> 

Y en onCreate :

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.newsdetail_activity); mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mActionBarToolbar); ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); } 

Y onOptionItemSelected :

 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); break; case R.id.shareButton: Log.d(TAG, "SHARE BUTTON"); break; } return true; } 

El clic en shareButton en la barra de herramientas no está disparando. ¿Puede alguien decir la razón de esto?

Terminé usando el siguiente código

  ImageButton imageButton = (ImageButton) toolbar.findViewById(R.id.shareButton); imageButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); 

No sé si esta es la manera correcta. Pero funciona

cambio

  case R.id.shareButton: Log.d(TAG, "SHARE BUTTON"); break; 

a

  case android.R.id.shareButton: Log.d(TAG, "SHARE BUTTON"); break; 

Simplemente utilice esto.

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_launcher); actionbar = getActionBar(); actionbar.setDisplayShowCustomEnabled(true); actionbar.setCustomView(R.layout.action_bar_layout); btnClick = (Button) findViewById(R.id.btnClick); appIcon = (ImageView) findViewById(R.id.appIcon); appName = (TextView) findViewById(R.id.appName); appName.setOnClickListener(this); appIcon.setOnClickListener(this); btnClick.setOnClickListener(this); } @Override public void onClick(View v) { switch(v.getId()){ case R.id.appName: Toast.makeText(LauncherActivity.this, "You Clicked on App Name", Toast.LENGTH_LONG).show(); break; case R.id.appIcon: Toast.makeText(LauncherActivity.this, "You Clicked on App Icon", Toast.LENGTH_LONG).show(); break; case R.id.btnClick: Toast.makeText(LauncherActivity.this, "You Clicked on Button", Toast.LENGTH_LONG).show(); break; } } 

Ver mi proyecto git aquí

  • Posición de la vista de héroe calculada erróneamente durante la transición de elementos compartidos
  • FindViewById (int) en Activity no se puede aplicar a (int, android.support.v7.widget.Toolbar
  • Tableta de Gmail como elementos de Actionbar
  • Tabla de soporte de diseño de Android Contenido solapado de superposición
  • ¿Cuál es el equivalente de onPrepareOptionsMenu para la barra de herramientas de soporte?
  • Implementación de Google play y mapas como la barra de búsqueda de Android
  • Barra de herramientas que no aparece en los dispositivos pre lollipop
  • Android Lollipop Toolbar vs vista personalizada
  • Android: Estilo ActionMode en AppCompat-v7 con la barra de herramientas
  • Establecer un subtítulo en mi barra de herramientas de un fragmento
  • ¿Qué es ScrimInsetsFrameLayout?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.