0

画像URLを介して画像を含む画像スライダーを持っています。そのため、特定の画像を選択すると、ボタンクリックでその画像が別のアクティビティに移動する必要があります。画像URLを取得していますが、別のアクティビティに画像が表示されません。助けてください。前もって感謝します。

メインに String[] imageUrl があります

String[] imageUrl={"http://l.yimg.com/a/i/us/we/52/21.gif","https://devimages.apple.com.edgekey.net/contact/images/technical-icon.png","https://devimages.apple.com.edgekey.net/contact/images/technical-icon.png"};

ボタンをクリックすると、これらのURLを別のアクティビティに送信しています

Main.java

 String[] imageUrl={"http://l.yimg.com/a/i/us/we/52/21.gif","https://devimages.apple.com.edgekey.net/contact/images/technical-icon.png","https://devimages.apple.com.edgekey.net/contact/images/technical-icon.png"};
    
    
        Button btnNextScreen = (Button) findViewById(R.id.btnNextScreen);
        btnNextScreen.setOnClickListener(new View.OnClickListener() {           
                                        
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        Intent intent = new Intent(Main.this, OpenImage.class);
                        intent.putExtra("some_key", imageUrl);
                        startActivity(intent);                  
                                            
                    }           
                });

別のアクティビティでは、これらの URL を取得していますが、画像は取得していません

OpenImage.java

 public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.screen2);
            String[] data = getIntent().getExtras().getStringArray("some_key");
            for(String x:data) {
                Log.i(TAG, "x="+x);
                Toast.makeText(OpenImage.this, x, Toast.LENGTH_SHORT).show();
                }
            
        }
      
4

3 に答える 3

0

Main.java

    String[] imageUrl={"https://devimages.apple.com.edgekey.net/contact/images/technical-icon.png","http://www.codeincloud.tk/play.png",
                             "https://devimages.apple.com.edgekey.net/contact/images/technical-icon.png"};  


        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            if (android.os.Build.VERSION.SDK_INT > 9) {
                StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                StrictMode.setThreadPolicy(policy);
            }

            imgView = (ImageView)findViewById(R.id.ImageViewTops);  
            imgView.setImageResource(Imgid[0]);      

            Button btnNextScreen = (Button) findViewById(R.id.btnNextScreen);
            btnNextScreen.setOnClickListener(new View.OnClickListener() {
              public void onClick(View v) {
                    String image_selected = imageUrl[selected_image];
                    sendMessage(image_selected);
                }

            });

            topsgallery = (Gallery) findViewById(R.id.gallery1);
            topsgallery.setAdapter(new AddImgAdp (this));

            topsgallery.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(@SuppressWarnings("rawtypes") AdapterView parent, View v, int position, long id) {

                    selected_image = position;
                    Log.d("Selected","Image url="+selected_image);
                    imgView = (ImageView)findViewById(R.id.ImageViewTops);
                }
             });    

     }
public void sendMessage(String image_selected) {
        Intent intent = new Intent(this, SecondActivity.class);
        String image_url = imageUrl[selected_image];
        intent.putExtra(EXTRA_MESSAGE, image_url);
        startActivity(intent);
    }
}

セカンドアクティビティ

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.screen2);

        setupActionBar();
        Intent intent = getIntent();
        Context context = getApplicationContext();
        String image_url = intent.getStringExtra(Main.EXTRA_MESSAGE);
        int duration = Toast.LENGTH_SHORT;
        Toast toast = Toast.makeText(context, image_url, duration);
        toast.show();
        new DownloadImageTask((ImageView) findViewById(R.id.imageview))
        .execute(image_url);    

    }
    private void setupActionBar() {
        // TODO Auto-generated method stub

    }
    private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
        @SuppressWarnings("unused")
        ImageView bmImage;

        public DownloadImageTask(ImageView bmImage) {
            this.bmImage = bmImage;
        }

        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            //Log.i("url","urldisplay="+urldisplay);
            Bitmap mIcon11 = null;
            try {
                InputStream in = new java.net.URL(urldisplay).openStream();
                mIcon11 = BitmapFactory.decodeStream(in);
                } catch (Exception e) {
                    Log.e("Error", e.getMessage());
                    e.printStackTrace();
                }
                return mIcon11;
        }

        protected void onPostExecute(Bitmap result) {
            ImageView bmImage = (ImageView)findViewById(R.id.imageview);
            bmImage.setImageBitmap(result);
        }


    }
}
于 2013-11-13T09:09:55.190 に答える