2017-09-14 117 views
-6

我正在開發適用於android的QR碼應用程序。我想將我掃描的任何內容傳遞給新的活動。這是我的二維碼結果代碼,將數據傳遞給其他活動(Android Studio)

public void handleResult(final Result result) 
{ 
    final String scanResult = result.getText(); 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle("Scanned Result"); 
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() 
    { 

     @Override 
     public void onClick(DialogInterface dialogInterface, int i) { 
     scannerView.resumeCameraPreview(MainActivity.this); 
     } 
    }); 
    builder.setNeutralButton ("Show", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialogInterface, int i) 
     { 
      startActivity(new Intent(MainActivity.this, ResultPage.class)); 
     } 
    }); 
    builder.setMessage(scanResult); 
    AlertDialog alert = builder.create(); 
    alert.show(); 
} 

ResultPage.class是我希望顯示掃描結果的活動,我該如何做?編輯:我的ResultPage.Class目前只有一個空的textview空。我希望輸出是在textview中。

+0

使用意圖在兩個活動之間傳遞數據。 – Ankita

回答

0
final String scanResult = result.getText(); 
Intent intent = new Intent(getBaseContext(), ResultPage.class); 
intent.putExtra("SCAN_RESULT", scanResult); 
startActivity(intent); 

現在,你可以找到在ResultPage活動scanResult

String s = getIntent().getStringExtra("SCAN_RESULT"); 
+0

你好,對於String的行,我在哪裏把代碼放在ResultPage中? –

+0

ResultPage.class中的onCreate() – Ankita

+0

show按鈕將我帶到resultpage.class,但它是空的。 –

0

如果你有URI然後傳遞,如果你想通過圖像本身

Bitmap image= imageView.getDrawingCache(); 
Bundle extras = new Bundle(); 
extras.putParcelable("imagebitmap", image); 
intent.putExtras(extras); 
startActivity(intent); 

該URI使用意向

並在另一個活動接收像:

Bundle extras = getIntent().getExtras(); 
Bitmap bmp = (Bitmap) extras.getParcelable("imagebitmap"); 
image.setImageBitmap(bmp); 
0

您必須將結果字符串從MainActivity傳遞到ResultPage。 要將數據從一個活動傳遞到另一個活動,可以使用Bundle

這裏是將數據發送到另一個活動代碼:

builder.setNeutralButton ("Show", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialogInterface, int i) 
     { 
      Intent intent = new Intent(MainActivity.this,ResultPage.class); 
      Bundle bundle = new Bundle(); 
      bundle.putString("RESULT",scanResult); 
      intent.putExtra(bundle); 
      startActivity(intent); 
     } 
    }); 

現在你可以得到這個結果ResultPage活動。 以下是獲取數據的代碼。

Bundle bundle = getIntent().getExtras(); 
String scanResult = bundle.getString("RESULT"); 

現在您可以顯示您的scanResult

相關問題