Switch - case-Ausdrücke müssen Konstante Ausdrücke, kann ich nicht machen, die if-else-Anweisung

Dies ist ein Projekt der QR-Code-Generierung und dies ist die Quelle des Codes
Das ist die Quelle
hier ein Fehler der Konstanten Fall
Ich weiß, dass es muss im If-else, aber ich weiß nicht, wie in diesem Projekt jemand der mir helfen kann ?!

//That is a QR code generator project`enter code here`
    @Override
    public void onClick(View v) {
        //TODO Auto-generated method stub
        switch (v.getId()) {
          case R.id.button1://<--- is the error .. I can't make it If-else statement
           EditText qrInput = (EditText) findViewById(R.id.QR);
           String qrInputText = qrInput.getText().toString();
           Log.v(LOG_TAG, qrInputText);

           //Find screen size
           WindowManager manager = (WindowManager) getSystemService(WINDOW_SERVICE);
           Display display = manager.getDefaultDisplay();
           Point point = new Point();
           display.getSize(point);
           int width = point.x;
           int height = point.y;
           int smallerDimension = width < height ? width : height;
           smallerDimension = smallerDimension * 3/4;

           //Encode with a QR Code image
           QREncoder qrCodeEncoder = new QREncoder(qrInputText, 
                     null, 
                     Contents.Type.TEXT,  
                     BarcodeFormat.QR_CODE.toString(), 
                     smallerDimension);
           try {
            Bitmap bitmap = qrCodeEncoder.encodeAsBitmap();
            ImageView myImage = (ImageView) findViewById(R.id.imageView1);
            myImage.setImageBitmap(bitmap);

           } catch (WriterException e) {
            e.printStackTrace();
           }


           break;

           //More buttons go here (if any) ...

          }
         }
    }
  • ich denke, dass die switch-case funktionieren sollte wie diese..was genau ist deine Frage?
  • Der code sieht gut aus, hat die ID "button1" existieren? vielleicht war es ein Tippfehler, wenn der button erstellt wurde
  • wussten Sie, ändern Sie die Schaltflächen-id?
  • Die Fall-switch-Anweisung hat einen Fehler und dieses "Wie der ADT 14, Ressourcen-Felder können nicht verwendet werden, die als switch-Case-Anweisungen. Das aufrufen dieses Update um weitere Informationen zu erhalten." erscheint mir-und es ist auch als fix-Optionen ( Migrate android code ) Wenn ich suchte fand ich, dass ich austauschen müssen, die Fall-Schalter mit If-else .. aber ich weiß nicht, wie ich das nicht verstehen codde gut, aber ich brauche diese, um einen QR-Code ..
  • Sie können auch schnell dieses problem beheben, indem Sie den cursor auf dem switch-Schlüsselwort und drücken Sie Strg-1. ADT atomatically konvertieren Sie die case-Anweisungen if-else-Anweisungen.
InformationsquelleAutor A.Raouf | 2013-07-25
Schreibe einen Kommentar