私はAndroidアプリケーションでバーコードスキャナを実装しました。スキャナで生成されたバーコードイメージ(ビットマップ)をXMLファイルのImageViewに設定したいと思います。私は(画像/ ImageViewのを示したことになる)MatasActivityを開始する前にアクティビティを開始する前にImageViewをXMLで設定する
しかし、このXMLファイルが初期化されません。これは、 "imageCode"変数がXMLファイルから "R.id.imageCode"を見つけることができないため、私にヌルポイントの受け取りを与えます。
は、どのように私は新しい活動にXMLファイルからImageViewのを設定することができます - 私はstartActivity後にそれを行うことはできません(コードの残りの部分が実行されても、新たな活動にかなりのonCreateないので)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null) {
if(result.getContents() == null) {
Log.d("MainActivity", "Cancelled scan");
Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
} else {
Log.d("MainActivity", "Scanned");
Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
Intent intent = new Intent(MainActivity.this, MatasActivity.class);
imageCode = (ImageView) findViewById(R.id.imageCode);
Bitmap myBitmap = BitmapFactory.decodeFile(result.getBarcodeImagePath());
imageCode.setImageBitmap(myBitmap);
startActivity(intent);
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
MatasActivityは単なるXMLファイルを実行する目的を持ってMatasActivity方法でのonCreate AKA(バーコードを表示する)だけ実行します。imageCodeが保たれているXMLファイルです
setContentView(R.layout.picked_card);
を。
私はそのことについて考えた - 私は、同様の文字列を渡す必要があり、特にので、私はそれは少し奇妙だと感じました。しかし、私はそれに試してみましょう。乾杯。 – Mikkel
私はそれが奇妙ではないと思います。あなたは100人のパラメタ(メモリが許可している場合)を新しいアクティビティに渡すことができます。 'myBitmap'をオブジェクトとして送信し、新しいアクティビティで再び 'ビットマップ'として扱うことができます。 はい、私に知らせてください。 – user3793589
私はビットマップとして送信する問題を抱えていたので、私は最初のByteArrayには、この方法でそれを変換してみました:http://stackoverflow.com/questions/11010386/send-bitmap-using-intent-android – Mikkel