2015-07-13 79 views
0
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.ImageView; 
import java.io.ByteArrayOutputStream; 


public class MainActivity extends ActionBarActivity { 

    Bitmap bitmap; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ImageView i = (ImageView) findViewById(R.id.iv_img); 
    i.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      ByteArrayOutputStream bStream = new ByteArrayOutputStream(); 
      bitmap.compress(Bitmap.CompressFormat.PNG, 100, bStream); 
      byte[] byteArray = bStream.toByteArray(); 

      Intent anotherIntent = new Intent(MainActivity.this, anotherActivity.class); 
      anotherIntent.putExtra("image", R.drawable.img); 
      startActivity(anotherIntent); 

     } 
    }); 
} 
+2

傳遞圖像的路徑並使用另一個活動中的路徑檢索圖像。 – Raghunandan

+0

將文件寫入文件系統(sdcard)並將路徑傳遞給另一個活動,在下一個活動中讀取文件並刪除本地路徑副本(如果不再需要)。 –

+1

其可繪製的,你可以在另一個活動中訪問它。 – Raghunandan

回答

0

您可以使用intent將byteArray發送到其他活動。

Intent anotherIntent = new Intent(MainActivity.this, anotherActivity.class); 

anotherIntent.putExtra("image", byteArray); 

startActivity(anotherIntent); 

現在你必須接受這個bytearray到另一個活動。

Bitmap bmp; 

byte[] byteArray = getIntent().getByteArrayExtra("image"); 

bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length); 

imageview.setImageBitmap(bmp); 
相關問題