Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.recyclerviewtest;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.recyclerview.widget.LinearLayoutManager;
- import androidx.recyclerview.widget.RecyclerView;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.TextView;
- import com.example.recyclerviewtest.models.Feed;
- import com.example.recyclerviewtest.networks.ApiService;
- import com.example.recyclerviewtest.networks.RetrofitBuilder;
- import java.util.ArrayList;
- import java.util.List;
- public class StartActivity extends AppCompatActivity {
- ApiService service;
- private RecyclerView itemList;
- private LinearLayoutManager horizontalLinearLayoutManager;
- private ItemAdapter adapter;
- private List<Feed.FeedData> items = new ArrayList<>();
- private Feed data;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_start);
- service = RetrofitBuilder.createService(ApiService.class);
- itemList = findViewById(R.id.recycler);
- LinearLayoutManager manager = new LinearLayoutManager(this);
- itemList.setLayoutManager(manager);
- adapter = new ItemAdapter(items);
- itemList.setAdapter(adapter);
- loadItems();
- }
- private void loadItems() {
- service.getFeed().enqueue(new Callback<Feed>() {
- @Override
- public void onResponse(Call<Feed> call, Response<Feed> response) {
- if (response.isSuccessful()) {
- data = response.body();
- items.addAll(data.getData());
- adapter.setItems(items);
- }
- }
- @Override
- public void onFailure(Call<Feed> call, Throwable t) {
- }
- });
- }
- private class ItemAdapter extends RecyclerView.Adapter<ItemViewHolder>{
- private List<Feed.FeedData> items;
- public ItemAdapter(List<Feed.FeedData> items) {
- this.items = items;
- }
- public void setItems(List<Feed.FeedData> items) {
- this.items = items;
- notifyDataSetChanged();
- }
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(getBaseContext()).inflate(R.layout.item_card, parent, false);
- return new ItemViewHolder(view);
- }
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Feed.FeedData item = items.get(position);
- holder.bind(item);
- }
- @Override
- public int getItemCount() {
- return items.size();
- }
- }
- private class ItemViewHolder extends RecyclerView.ViewHolder {
- TextView tv_name;
- TextView tv_location;
- TextView tv_text;
- public ItemViewHolder(@NonNull View itemView) {
- super(itemView);
- tv_location = findViewById(R.id.tv_location);
- tv_name = findViewById(R.id.tv_name);
- tv_text = findViewById(R.id.tv_text);
- }
- void bind (Feed.FeedData type) {
- tv_location.setText(type.getCity().getCityData().getName());
- tv_name.setText(type.getUser().getUserData().getName());
- tv_text.setText(type.getText());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement