Java 将JSoup图像传递给毕加索
最近,一位用户帮助我使用JSoup获取图像。我用毕加索制作了一个ViewPager,并创建了一个测试字符串[],它正在工作 现在,我想把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-
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);
}
}