0

Ich versuche, einen QR-Code zu scannen und den Wert aus dem Scan-Ergebnis an eine andere Aktivität zu übergeben. Ich erhalte das Ergebnis in einem SparseArray und extrahiere den neuesten gescannten Wert. Ich kann keine Zeichenfolge in meiner zweiten Aktivität abrufen. Kann mir jemand mitteilen, ob die Ergebnisse in SparseArray vom String-Format sind? Wenn nicht, wie kann ich diese Werte in meiner zweiten Aktivität im String-Format erhalten?Weitergabe des Ergebnisses von SparseArray an eine andere Aktivität

Mein MainActivity

@Override 
public void receiveDetections(Detector.Detections<Barcode> detections) { 
    final SparseArray<Barcode> barcodes = detections.getDetectedItems(); 
    if (barcodes.size() != 0) { 
     Intent intent = new Intent(MainActivity.this, SecondActivity.class); 
     intent.putExtra("barcode",barcodes.valueAt(0)); 
     startActivity(intent); 
     finish(); 
    } 
} 

Meine Empfangsaktivität

Intent intent = getIntent(); 
String barcode = intent.getStringExtra("barcode"); 

Antwort

1

barcodes.valueAt(0) eine Barcode zurückkehrt, die Parcelable umsetzt. In Ihrer Empfangsaktivität sollten Sie Folgendes tun:

Barcode barcode = (Barcode) intent.getParcelableExtra("barcode"); 
Verwandte Themen