Как парсить в RecyclerView? (Изображения?)

226
28 апреля 2018, 19:25

Вот MainActivity.java

public class MainActivity extends AppCompatActivity {
    private List<Person> persons;
    private RecyclerView rv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rv=(RecyclerView)findViewById(R.id.rv);
        LinearLayoutManager llm = new LinearLayoutManager(this);
        rv.setLayoutManager(llm);
        rv.setHasFixedSize(true);
        ParseTitle parseTitle = new ParseTitle();
       // parseTitle.execute();
        initializeData();
        initializeAdapter();
    }
    private void initializeData() {
        persons = new ArrayList<>();
        persons.add(new Person("Emma Wilson", "23 years old", R.drawable.emma));
        persons.add(new Person("Lavery Maiss", "25 years old", R.drawable.lavery));
        persons.add(new Person("Lillie Watts", "35 years old", R.drawable.lillie));
    }
    private void initializeAdapter(){
        RVAdapter adapter = new RVAdapter(persons);
        rv.setAdapter(adapter);
    }
    class ParseTitle extends AsyncTask<Void, Void, HashMap<String,String>> {
        @Override
        protected HashMap<String, String> doInBackground(Void... params) {
            HashMap<String, String> hashMap = new HashMap<>();
            try {
                Document doc = Jsoup.connect("http://site.ru/").get();
                Elements links = doc.select(".mine_rubric_icon");
                for(Element link: links){
                    Element link1 = link.select("a[href]").first();
                    hashMap.put(link.text(), link1.attr("abs:href"));
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            return hashMap;
        }
    }
}

MainActiviti.java - парсит ссылки и текст

package rvacv.ixanov.sergey.myapplication; 
 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.LinearLayoutManager; 
import android.support.v7.widget.RecyclerView; 
import android.widget.ArrayAdapter; 
 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 
 
import java.io.IOException; 
import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 
import java.util.Map; 
import java.util.concurrent.ExecutionException; 
 
public class MainActivity extends AppCompatActivity { 
 
    private List<Person> persons; 
    private RecyclerView rv; 
 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
 
        setContentView(R.layout.activity_main); 
 
        rv=(RecyclerView)findViewById(R.id.rv); 
 
        LinearLayoutManager llm = new LinearLayoutManager(this); 
        rv.setLayoutManager(llm); 
        rv.setHasFixedSize(true); 
 
        initializeData(); 
        initializeAdapter(); 
    } 
 
    private void initializeData() { 
        persons = new ArrayList<>(); 
        Parse parse = new Parse(); 
        parse.execute(); 
        try { 
            final HashMap<String, String> hashMap = parse.get(); 
            final ArrayList<String> arrayList = new ArrayList<>(); 
            for (Map.Entry entry : hashMap.entrySet()) { 
                arrayList.add(entry.getKey().toString()); 
            } 
 
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this 
                , android.R.layout.simple_list_item_1, arrayList); 
            for (String item : arrayList){ 
                persons.add(new Person(item, "23 years old", R.drawable.emma)); 
            } 
        } catch (InterruptedException e){ 
            e.printStackTrace(); 
        } catch (ExecutionException e){ 
            e.printStackTrace(); 
        } 
    } 
 
    private void initializeAdapter(){ 
        RVAdapter adapter = new RVAdapter(persons); 
        rv.setAdapter(adapter); 
    } 
 
    class Parse extends AsyncTask<Void, Void, HashMap<String,String>> { 
 
        @Override 
        protected HashMap<String, String> doInBackground(Void... params) { 
            HashMap<String, String> hashMap = new HashMap<>(); 
 
            try { 
                Document doc = Jsoup.connect("http://site.ru/").get(); 
                Elements links = doc.select(".mine_rubric_icon"); 
 
                for(Element link: links){ 
                    Element link1 = link.select("a[href]").first(); 
                    hashMap.put(link.text(), link1.attr("abs:href")); 
                } 
            } catch (IOException e) { 
                e.printStackTrace(); 
            } 
            return hashMap; 
        } 
    } 
}

READ ALSO
Разница между приложением и апплетом?

Разница между приложением и апплетом?

В книге SwingРуководство для начинающих говорится: "

190
Здравствуйте делаю веб приложение

Здравствуйте делаю веб приложение

Делаю веб приложение на Java c использованием:

262
Перекидывать ссылки с одного потока в другой JAVA

Перекидывать ссылки с одного потока в другой JAVA

У меня есть картинки которые нужно загрузить я хочу сделать так что есть один поток который загружает картинки и есть второй который передает...

273
@GeneratorValue выдаёт уже занятые id

@GeneratorValue выдаёт уже занятые id

Таблица: "ID" INTEGER DEFAULT nextval('zakazchik_id_seq'::regclass) NOT NULL, Сущность:

177