Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将JSoup图像传递给毕加索_Java_Android - Fatal编程技术网

Java 将JSoup图像传递给毕加索

Java 将JSoup图像传递给毕加索,java,android,Java,Android,最近,一位用户帮助我使用JSoup获取图像。我用毕加索制作了一个ViewPager,并创建了一个测试字符串[],它正在工作 现在,我想把JSoup中的那些图像放到毕加索中 有人能帮忙吗 public类MainActivity扩展了AppCompatActivity{ 字符串url=”http://www.readmangaonline.org/manga/one-piece/902/1"; 私有字符串[]图像URL=新字符串[]{ "http://i999.mangapanda.com/one-

最近,一位用户帮助我使用JSoup获取图像。我用毕加索制作了一个ViewPager,并创建了一个测试字符串[],它正在工作

现在,我想把JSoup中的那些图像放到毕加索中

有人能帮忙吗

public类MainActivity扩展了AppCompatActivity{
字符串url=”http://www.readmangaonline.org/manga/one-piece/902/1";
私有字符串[]图像URL=新字符串[]{
"http://i999.mangapanda.com/one-piece/902/one-piece-10510603.jpg",
"http://i999.mangapanda.com/one-piece/902/one-piece-10510603.jpg"
};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
新建ImageScrapAsyncTask().execute(url);
ViewPager ViewPager=findViewById(R.id.ViewPager);
ViewPagerAdapter适配器=新的ViewPagerAdapter(这是imageUrls);
viewPager.setAdapter(适配器);
}
}
类ImageScrapAsyncTask扩展了AsyncTask{
@凌驾
受保护文档doInBackground(字符串…URL){
试一试{
返回Jsoup.connect(URL[0]).get();
}捕获(IOE异常){
e、 printStackTrace();
返回null;
}
}
@凌驾
受保护的void onPostExecute(文档){
如果(文档!=null){
元素imgElements=document.select(“img”);
列表图像=新的ArrayList();
对于(元素:imgElements){
字符串image=element.attr(“数据src”);
Log.d(“图像URL”,图像);
图片。添加(图片);
}
}
}
}

适配器:

在onPostExecute内设置适配器(数据可用后)

@覆盖
受保护的void onPostExecute(文档){
如果(文档!=null){
元素imgElements=document.select(“img”);
列表图像=新的ArrayList();
对于(元素:imgElements){
字符串image=element.attr(“数据src”);
Log.d(“图像URL”,图像);
if(image!=null&&!image.equals(“”){
图片。添加(图片);
}
}
字符串[]imgArray=images.toArray(新字符串[images.size()]);
ViewPagerAdapter适配器=新的ViewPagerAdapter(MainActivity.this,imgArray);
viewPager.setAdapter(适配器);
}
}

注意:将viewPager设置为全局。

对不起,我应该移动到哪里才能保持全局?在MainActivity alnog中,使用字符串url。我在这里尝试过,但我做错了什么。将ViewPager ViewPager与url一起移动到顶部(在onCreate上方)。另外,将viewPager=findViewById(R.id.viewPager)保留在viewPager前面而不使用viewPager(正如我们在上面声明的那样)将其替换为MainActivity.this。请不要将其放在异步任务中。这段代码是内存泄漏,即将发生崩溃
@Override
    protected void onPostExecute(Document document) {
        if (document != null) {
            Elements imgElements = document.select("img");
            List<String> images = new ArrayList<>();

            for (Element element : imgElements) {
                String image = element.attr("data-src");
                Log.d("IMAGE_URL", image);
                if(image!=null && !image.equals("")){
                    images.add(image);
                }
            }

            String[] imgArray = images.toArray(new String[images.size()]);
            ViewPagerAdapter adapter = new ViewPagerAdapter(MainActivity.this, imgArray);
            viewPager.setAdapter(adapter);
        }
    }