J'ai un problème dans mon application lorsque j'utilise le menu contextuel avec élément vérifiable.élément vérifiable dans android PopupMenu ne fonctionne probablement pas
Je voulais mettre en œuvre élément de contrôle à plusieurs dans mon menu contextuel, mais lorsque vous cliquez sur un élément du menu disparaît bien que j'ai mis le comportement checkable à tous
c'est la mise en page du menu
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="all">
<item android:id ="@+id/sun"
android:checkable="true"
android:title="@string/sun"/>
<item android:id ="@+id/Mon"
android:title="@string/Mon"/>
<item android:id ="@+id/Tus"
android:title="@string/Tus"/>
<item android:id ="@+id/Wed"
android:title="@string/wed"/>
<item android:id ="@+id/Thu"
android:title="@string/Thu"/>
<item android:id ="@+id/fri"
android:title="@string/fri"/>
<item android:id ="@+id/Sat"
android:title="@string/Sat"/>
</group>
et c'est l'instruction switch où je suppose que l'erreur est ici, mais je ne peux pas le trouver
PopupMenu popupMenu = new PopupMenu(getBaseContext(), ch_specificDay);
MenuInflater inflater = popupMenu.getMenuInflater();
inflater.inflate(R.menu.weekdays, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.sun:
if(item.isChecked())
{
item.setChecked(false);
sunCheck = false;
}else
{
item.setChecked(true);
sunCheck = true;
}
break;
case R.id.Mon:
if(item.isChecked())
{
item.setChecked(false);
monCheck = false;
}else
{
item.setChecked(true);
monCheck = true;
}
break;
case R.id.Tus:
if(item.isChecked())
{
item.setChecked(false);
TusCheck = false;
}else
{
item.setChecked(true);
TusCheck = true;
}
break;
case R.id.Thu:
if(item.isChecked())
{
item.setChecked(false);
ThrChec= false;
}else
{
item.setChecked(true);
ThrChec = true;
}
break;
case R.id.Wed:
if(item.isChecked())
{
item.setChecked(false);
wenCheck= false;
}else
{
item.setChecked(true);
wenCheck = true;
}
break;
case R.id.Sat:
if(item.isChecked())
{
item.setChecked(false);
satCheck = false;
}else
{
item.setChecked(true);
satCheck = true;
}
break;
case R.id.fri:
if(item.isChecked())
{
item.setChecked(false);
FriCheck = false;
}else
{
item.setChecked(true);
FriCheck = true;
}
break;
default:
break;
}
return true ;
}
});
popupMenu.show();
break;
default:
même le menu contextuel disparaît toujours que le travail non – maiajam
vous devez utiliser Android : checkable = "true" dans chaque élément du menu, pas seulement un seul. –
le même rien ne change après l'avoir ajouté, je me demande ce qui est dans le document android pour définir le comportement vérifiable comme tout pourquoi ne pas travailler avec moi @ – maiajam