2012-10-12 16 views
5

पर छविदृश्य कैसे भेजें, मेरे पास पहली गतिविधि में सूचीदृश्य में एक छविदृश्य है, मैं अपनी छविदृश्य सूचीदृश्य आइटम के क्लिक्ल पर दूसरी गतिविधि में भेजना चाहता हूं।एक गतिविधि से अन्य

निम्नलिखित code-

bytearray में कन्वर्ट drawable छवि मैं कोशिश की है: -

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); 
       ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
       bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 
       byte[] byteArray = stream.toByteArray(); 

Intent-

Intent intent=new Intent(PicturesList.this,PictureDetail.class); 
       intent.putExtra("Bitmap", byteArray); 
       startActivity(intent); 

के माध्यम से भेजा जा रहा है दूसरी गतिविधि- में

Bundle extras = getIntent().getExtras(); 
     byteArray = extras.getByteArray("Bitmap"); 

और

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

लेकिन समस्या यहाँ है

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); 

यह drawable छवि की आवश्यकता होती है और मैं imageView है, मैं drawable में मेरी imageView परिवर्तित कर सकते हैं? या कुछ और? ड्राइंग के बजाय छविदृश्य कैसे भेजें। किसी ने पहले यह किया है।

यह मैं कैसे imageView

new AsyncTask<Void,Void,Void>() { 
      @Override 
      protected Void doInBackground(Void... params) { 


       try { 
        URL newurl = new URL("http://java.sogeti.nl/JavaBlog/wp-content/uploads/2009/04/android_icon_256.png"); 
        bitmap= BitmapFactory.decodeStream(newurl.openConnection().getInputStream()); 
        //bitmap = Bitmap.createScaledBitmap(bitmap, 50,50, true); 
       } 
       catch (MalformedURLException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      // bitmap=imageLoader.DisplayImage("http://farm3.static.flickr.com/2199/2218403922_062bc3bcf2.jpg", imageview); 
       //bitmap = Bitmap.createScaledBitmap(bitmap, imageview.getWidth(), imageview.getHeight(), true); 
       return null; 
      } 
      @Override 
      protected void onPostExecute(Void result) { 
       super.onPostExecute(result); 
       imageview.setImageBitmap(bitmap); 
      } 
     }.execute(); 
+0

Bitmap.Try करने के लिए परिवर्तित कर सकते हैं? यह वास्तव में उस पर एक पूरी बहुत कुछ निर्भर करता है। –

+0

मैंने URL का उपयोग करके छविदृश्य पर छवि सेट की है। इसके बारे में मैं इसे दूसरी गतिविधि में प्रदर्शित करना चाहता हूं। – Ani

+0

हाँ यह ठीक है। लेकिन मेरा सवाल है कि आप यूआरएल से छवि को किस रूप में संग्रहीत कर रहे हैं। आपको ड्रॉइंग सही इस्तेमाल करना चाहिए था? –

उत्तर

4

आप एक बाइट सरणी बिटमैप कन्वर्ट करने के लिए की जरूरत नहीं है में छवि सेट है। बिटमैप पार्सलबल है ताकि आप इसे बंडल में जोड़ने के लिए putParcelable(String, Parcelable) का उपयोग कर सकें।

संपादित करें:

उदाहरण के लिए:

Bundle extras = new Bundle(); 
extras.putParcelable("Bitmap", bmp); 
intent.putExtras(extras); 
startActivity(intent); 

तो दूसरी गतिविधि में:

Bundle extras = getIntent().getExtras(); 
Bitmap bmp = (Bitmap) extras.getParcelable("Bitmap"); 
+0

क्या आप इस पर elabborate कर सकते हैं। बंडल अतिरिक्त = नया बंडल(); \t \t \t extras.putParcelable ("बिटमैप", बिटमैप); क्या यह लिख रहा है – Ani

+0

हाँ, यह सही है। मैंने अपना जवाब संपादित कर लिया है। – Magicode

+0

हम इरादे के माध्यम से कितना डेटा भेज सकते हैं। क्या बड़ी आकार की छवि मेरे लिए समस्या पैदा कर सकती है? – Ani

0

मैं बात आप छवि आईडी गुजरती हैं और अगला गतिविधि में ईद सेट imageView जैसे

GEt ID ((ImageView) v).getId(); 
SET ID imageView.setImageResource(imgId); 
+0

मैंने उस छवि को छविदृश्य में सेट किया है। क्या आपका मतलब है कि मुझे इरादे के माध्यम से अगली गतिविधि में इमेजव्यू आईडी भेजनी चाहिए। – Ani

+0

हां, छवि getID पास करें और अन्य गतिविधि – ckpatel

0

आप कैसे आप पहली जगह में imageView करने के लिए छवि स्थापित कर सकता अपने imageView इस

Bitmap bitmap = Bitmap.createBitmap(imageView .getMeasuredWidth(),imageView .getMeasuredHeight(), Bitmap.Config.RGB_565); 
Canvas canvas = new Canvas(bitmap); 
ImageView .draw(canvas); 
+0

सेट करें यह मेरे लिए शून्य सूचक अपवाद देता है। – Ani

+0

संपादित कोड की जांच करें। –

+0

अभी भी एक ही शून्य सूचक अपवाद प्राप्त कर रहा है – Ani

संबंधित मुद्दे