将数据传递给其他活动(Android Studio)

问题描述:

我正在开发适用于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

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,但它是空的。 –

如果你有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); 

您必须将结果字符串从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