当前位置: 代码迷 >> Android >> 随机网址图片库视图出现错误
  详细解决方案

随机网址图片库视图出现错误

热度:81   发布时间:2023-08-04 12:46:08.0

我使用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失败。 我可以用什么代替呢?

当您对我能做什么或第二个好选择有什么想法时,请写下。

丹尼尔

问题出在以下几行:

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

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

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

tempURL = new URL("http://miniz.co/RageToonApp/Images/" + i + ".jpg");
  相关解决方案