Нумерация страниц в Recyclerview с данными дооснащения от Mysql - PullRequest
0 голосов
/ 31 марта 2020

Как я могу добиться загрузки 20 элементов с сервера в просмотрщик с помощью индикатора загрузки большего числа в конце первых 20 элементов и получения следующих 20 элементов и следующих 20 элементов и т. Д. До последних 20 элементов. Я изучил большое количество существующих учебных пособий / кодов, но ни один из них не соответствует моему нынешнему коду без больших изменений. Будет приветствоваться руководство, начиная с mysql запроса к переработчику и заканчивая получением следующих 20, затем 20 или любого числа и далее до тех пор, пока список не закончится.

MYSQL QUERY

$sql="SELECT * FROM `animals`";
$result=mysqli_query($con,$sql);
$data=array();
while($row=mysqli_fetch_assoc($result)){
$data[]=$row;
}
header('Content-Type:Application/json');
echo json_encode($data);

JSON OUTPUT

[{"id":"1","image1URL":".....","image2URL":".....",},
 {"id":"2","image1URL":".....","image2URL":".....",},
 {"id":"3","image1URL":".....","image2URL":".....",},
 {"id":"4","image1URL":".....","image2URL":".....",}]

RETROFIT INSTANCE

public static final String BASE_URL = "http://winteranimals.com/";
Retrofit retrofit = new Retrofit.Builder()
    .baseUrl(BASE_URL)
    .addConverterFactory(GsonConverterFactory.create())
    .build();
}return retrofit;

ИНТЕРФЕЙС API

public interface ApiInterface {
    String BASE_URL = "http://winteranimals.com/";
    @GET(animals.php);
Call<List<ImageList>> getData();

СКАЧАТЬ ДЕЯТЕЛЬНОСТЬ

public class DownloadActivity extends AppCompatActivity {
    private List<ImageList> mList;
    private ImageRecyclerAdapter adapter;
    private RecyclerView mRecyclerView;
    private GridLayoutManager layoutManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.download_activity );
        mList = new ArrayList<>();
        mRecyclerView = findViewById(R.id.main_recyclerview);
        //get data from backend
        ApiInterface apiInterface = RetrofitInstance.getRetrofitInstance().create(ApiInterface.class);
        Call<List<ImageList>> call = apiInterface.geImgData();
        call.enqueue(new Callback<List<ImageList>>() {
            @Override
            public void onResponse(Call<List<ImageList>> call, Response<List<ImageList>> response) {
                mList = response.body();
                layoutManager = new GridLayoutManager(DownloadActivity.this, 2);
                mRecyclerView.setLayoutManager(layoutManager);
                adapter = new ImageRecyclerAdapter(mList, DownloadActivity.this);
                mRecyclerView.setHasFixedSize(true);
                mRecyclerView.setItemViewCacheSize(20);
                mRecyclerView.setAdapter(adapter);
                adapter.notifyDataSetChanged();
                progressDialog.dismiss();
            }

RECYCLERADAPTER

public class ImageRecyclerAdapter extends RecyclerView.Adapter<ImageRecyclerAdapter.ViewHolder> {
    private Context context;
    private List<ImageList> mList;
    public ImageRecyclerAdapter(List<ImageList> mList, Context context) {
        this.mList=mList;
        this.context=context;
    }
    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.single_recycler_item,parent,false);
        return new ViewHolder(view);
    }
    @Override
    public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
        ImageList imageList = mList.get(position);
         .......
    }
    @Override
    public int getItemCount() {
        return mList.size();
    }
    public class ViewHolder extends RecyclerView.ViewHolder{
        ....
        public ViewHolder(@NonNull View itemView) {
            super(itemView);
           ..... {
                @Override
                public void onClick(View v) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...