commutateur cas d'erreur: le cas des expressions doit être l'expression constante

Mon instruction de cas switch fonctionne parfaitement bien hier. Mais lorsque j'exécute le code, ce matin, eclipse m'a donné une erreur en soulignant le cas des déclarations de couleur rouge et dit: cas des expressions doit être constante, elle est constante, je ne sais pas ce qui s'est passé. Voici mon code ci-dessous:

public void onClick(View src)
    {
        switch(src.getId()) {
        case R.id.playbtn:
            checkwificonnection();
            break;

        case R.id.stopbtn:
            Log.d(TAG, "onClick: stopping srvice");
            Playbutton.setImageResource(R.drawable.playbtn1);
            Playbutton.setVisibility(0); //visible
            Stopbutton.setVisibility(4); //invisible
            stopService(new Intent(RakistaRadio.this,myservice.class));
            clearstatusbar();
            timer.cancel();
            Title.setText(" ");
            Artist.setText(" ");
            break;

        case R.id.btnmenu:
            openOptionsMenu();
            break;
        }
    }

Tous les R. id.int sont tous soulignés en rouge.

  • Pouvez-vous donner la définition de R.id.playbtn etc.? Tout est statique et définitive?
  • Probablement vous avez supprimé/modifié votre mise en page et les codes n'existent plus, ou quelque chose comme ça...
  • La classe R est généralement généré par l'IDE/outils de dev, donc il est généralement correcte pour la version d'Android utilisée.
  • mon R. id.* sont tous beaux et exister dans la gen classe d'android.. et c'est aussi dans la page principale.