Mon application Android a un Toolbar
à laquelle je veux ajouter des éléments de menu. La barre d'outils s'affiche correctement, mais lorsque l'on développe le menu, les éléments du menu sont nuls.
La structure du menu est définie dans toolbar_menu.xml
:
toolbar_menu.xml
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/about"
android:title="About"
app:showAsAction="never"/>
</menu>
L'activité définit la barre d'outils dans le fichier de mise en page activity_layout.xml
activity_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible"
tools:context=".MainActivity">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:title="Welcome"/>
<!-- other widgets follow -->
</androidx.constraintlayout.widget.ConstraintLayout>
Et la classe d'activité dans laquelle j'ai défini la barre d'outils est la suivante MainActivity.java
MainActivity.java
// import dependencies
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main_activity);
final Toolbar toolbar = (Toolbar) this.findViewById(R.id.toolbar);
this.setSupportActionBar(toolbar);
}
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
this.getMenuInflater().inflate(R.menu.toolbar_menu, menu);
return true;
}
}