RecyclerView上拉刷新下拉加载以及点击图片切换视图

compile 'com.jcodecraeer:xrecyclerview:1.3.2'


 
public class MainActivity extends AppCompatActivity {
    private String net="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=";
     Okhttpget okhttpget=new Okhttpget();
    List<User.DataBean> list=new ArrayList<>();
    private Myadapter myadapter;
    private SwipeRefreshLayout sr;
    private XRecyclerView rv;
    private ImageView iv;
    private Boolean flog=true;
 
 private int i=R.layout.activity_sousuo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
            //RecyclerView
        rv= findViewById(R.id.rv);

        //解析net的数据
        mygetnet(i);

       
   @Override
    public void mysetadapter(Context context, List<Good_xiangqing.DataBean> data) {
    this.data=data;
    myadapterxiangqing = new Myadapterxiangqing(context,data,i);
    xrc.setAdapter(myadapterxiangqing);
    if (flog) {
        xrc.setLayoutManager(new LinearLayoutManager(MainActivity.this));
       }
    }
 
   
  
    
qie.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

    if (flog){
        qie.setImageResource(R.drawable.kind_grid);
        i=R.layout.activity_sousuo1;
        myadapterxiangqing = new Myadapterxiangqing(Feileishow.this,data,i);
        xrc.setAdapter(myadapterxiangqing);
        xrc.setLayoutManager(new GridLayoutManager(Feileishow.this,2));
        flog=false;
    }else{
        qie.setImageResource(R.drawable.kind_liner);
        i=R.layout.activity_sousuo;
        myadapterxiangqing = new Myadapterxiangqing(Feileishow.this,data,i);
        xrc.setAdapter(myadapterxiangqing);
         xrc.setLayoutManager(new LinearLayoutManager(Feileishow.this));
        flog=true;
    }
    }
});
 

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个Android RecyclerView实现上拉刷新下拉加载和工具栏的示例代码: 在build.gradle文件中添加以下依赖项: ``` implementation 'com.android.support:recyclerview-v7:28.0.0' implementation 'com.android.support:appcompat-v7:28.0.0' ``` 添加以下布局文件: ``` <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.SwipeRefreshLayout> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/colorPrimary" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> ``` 在Activity或Fragment中添加以下代码: ``` private SwipeRefreshLayout swipeRefreshLayout; private RecyclerView recyclerView; private Toolbar toolbar; private LinearLayoutManager layoutManager; private MyAdapter adapter; // 在onCreate中添加以下代码 swipeRefreshLayout = findViewById(R.id.swipe_refresh_layout); recyclerView = findViewById(R.id.recycler_view); toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); layoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(layoutManager); adapter = new MyAdapter(dataList); recyclerView.setAdapter(adapter); swipeRefreshLayout.setColorSchemeColors(getResources().getColor(R.color.colorPrimary), getResources().getColor(R.color.colorAccent), getResources().getColor(R.color.colorPrimaryDark)); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { // 下拉刷新操作 // 可以在这里进行网络请求等操作 // 请求完成后,在主线程调用setRefreshing(false)方法结束刷新动画 swipeRefreshLayout.setRefreshing(false); } }); recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE && !recyclerView.canScrollVertically(1)) { // 上拉加载操作 // 可以在这里进行网络请求等操作 adapter.notifyDataSetChanged(); } } }); ``` 其中,MyAdapter是RecyclerView的适配器,dataList是数据列表。在适配器中,可以定义ViewHolder和绑定数据等方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值