随机Url图库的错误视图

时间:2014-03-10 16:32:09

标签: android url random gallery

我使用Android Touch Gallery制作了随机图片库视图,但我想显示随机图像。我试图生成一个随机数的链接。

我无法播放,我不知道如何解决这个问题。

请帮助。

的活动:

package com.ddd.fun1234;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

import ru.truba.touchgallery.GalleryWidget.GalleryViewPager;
import ru.truba.touchgallery.GalleryWidget.UrlPagerAdapter;
import ru.truba.touchgallery.GalleryWidget.BasePagerAdapter.OnItemChangeListener;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;

public class GalleryUrlAvtivity extends Activity {

private GalleryViewPager mViewPager;

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

public Bitmap GetImage() {
    Random rn = new Random();
    int n = 200000 - 199000 + 1;
    int i = rn.nextInt() % n;    

    URL tempURL = null;
    try {
        tempURL = new URL("http://miniz.co/RageToonApp/Images/" + rn + ".jpg");
    } catch (MalformedURLException e1) {
        e1.printStackTrace();
    }

    List<String> items = new ArrayList<String>();
    Collections.addAll(items, tempURL);

    UrlPagerAdapter pagerAdapter = new UrlPagerAdapter(this, items);
    pagerAdapter.setOnItemChangeListener(new OnItemChangeListener()
    {
        @Override
        public void onItemChange(int currentPosition)
        {

        }
    });

    mViewPager = (GalleryViewPager)findViewById(R.id.viewer);
    mViewPager.setOffscreenPageLimit(3);
    mViewPager.setAdapter(pagerAdapter);
}

}

Collections.addAll 失败。我可以用什么代替呢?

当你知道我能做什么或什么是好的第二选择时,请写下来。

丹尼尔

1 个答案:

答案 0 :(得分:0)

问题在于以下几点:

Random rn = new Random();
...
int i = rn.nextInt() % n;    
...
tempURL = new URL("http://miniz.co/RageToonApp/Images/" + rn + ".jpg");

您正在计算i但不是在网址中使用它,而是使用rn。默认情况下,这会调用Random.toString(),其中包含在URL中非法的字符(在本例中为@)。

要解决此问题,您应将最后一行更改为:

tempURL = new URL("http://miniz.co/RageToonApp/Images/" + i + ".jpg");