我使用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 失败。我可以用什么代替呢?
当你知道我能做什么或什么是好的第二选择时,请写下来。
丹尼尔
答案 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");