RecyclerView自动滚动

https://www.cnblogs.com/wangjiaghe/p/7278443.html
核心

Runnable scrollRunnable;

 scrollRunnable = new Runnable() {
                        @Override
                        public void run() {
                            recyclerview.scrollBy(3, 0);
                            mHandler.postDelayed(scrollRunnable, 10);
                        }
                    };
                    mHandler.postDelayed(scrollRunnable, 10);
package com.ruhai.yibei.test;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.alibaba.fastjson.JSON;
import com.ruhai.yibei.Constant;
import com.ruhai.yibei.R;
import com.ruhai.yibei.bean.ProductHomePageBean;

import org.xutils.common.Callback;
import org.xutils.http.RequestParams;
import org.xutils.x;

import java.util.ArrayList;
import java.util.List;

public class RecyclerViewTest1Activity extends AppCompatActivity implements RecyAdapter.OnItemClickListener {
    private String TAG = "HorizontalActivity";


    private RecyclerView recyclerview;


    private RecyAdapter recyAdapter;
    private Handler mHandler = new Handler();
    private LinearLayoutManager layoutManager;


    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_recycler_view_test1);
        recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
        initData();

    }


    Runnable scrollRunnable;

    private void initData() {


        RequestParams params1 = new RequestParams(Constant.appProductHomePage);
//                            RequestParams params1 = new RequestParams(Constant.serviceClassId);
        params1.addHeader("Authorization", Constant.authorization);
        params1.addHeader("language", "zh_CN");
//                            params1.addBodyParameter("pageSize",12);
//                            params1.addBodyParameter("currentPage",1);
//                            params1.addBodyParameter("serviceClassId",classificationId);
        params1.setAsJsonContent(true);


        x.http().get(params1, new Callback.CommonCallback<String>() {
            @SuppressLint("ResourceAsColor")
            @Override
            public void onSuccess(String result) {
                Log.e("wy", "onSuccess result: " + result);
                ProductHomePageBean professionInfo = JSON.parseObject(result, ProductHomePageBean.class);
                Log.e("wy", "onSuccess professionInfo: " + professionInfo.getData().getAppProductHomePageHotProductVOList().size());

                if (professionInfo.getCode().equals("00000000")) {
//AppProductHomePageHotProductVOListDTO
                    recyAdapter = new RecyAdapter(RecyclerViewTest1Activity.this, professionInfo.getData().getAppProductHomePageHotProductVOList());
                    recyAdapter.setOnItemClickListener(RecyclerViewTest1Activity.this);
                    layoutManager = new LinearLayoutManager(RecyclerViewTest1Activity.this);
                    layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
                    recyclerview.setLayoutManager(layoutManager);
                    recyclerview.setAdapter(recyAdapter);
                    scrollRunnable = new Runnable() {
                        @Override
                        public void run() {
                            recyclerview.scrollBy(3, 0);
                            mHandler.postDelayed(scrollRunnable, 10);
                        }
                    };
                    mHandler.postDelayed(scrollRunnable, 10);

                } else {
                    Toast.makeText(x.app(), professionInfo.getMsg(), Toast.LENGTH_LONG).show();
                }


            }

            @Override
            public void onError(Throwable ex, boolean isOnCallback) {
                Log.e("wy", "132result: " + ex.getMessage());
            }

            @Override
            public void onCancelled(CancelledException cex) {
                Toast.makeText(x.app(), "cancelled", Toast.LENGTH_LONG).show();
            }

            @Override
            public void onFinished() {

            }
        });


    }

    @Override
    protected void onResume() {
        super.onResume();
        mHandler.postDelayed(scrollRunnable, 10);
    }

    @Override
    protected void onStop() {
        super.onStop();
        mHandler.removeCallbacks(scrollRunnable);
    }

    @Override
    public void onItemClick(View view, int tag) {
        Toast.makeText(this, "第" + tag + "张图片被点击了", Toast.LENGTH_SHORT).show();
    }
}

猜你喜欢

转载自blog.csdn.net/xiyangyang8110/article/details/123663767