package com.example.test.myapplication; import android.app.Activity; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class MainActivity extends Activity { private RecyclerView recyclerView; private MainAd mainAd; private List<Bean> list; private Bean bean; private SwipeRefreshLayout swipeRefreshLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe); recyclerView = (RecyclerView) findViewById(R.id.recycler_view_test_rv); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { mHandler.sendEmptyMessageDelayed(1, 2000); } }); list = new ArrayList<Bean>(); mainAd = new MainAd(list); recyclerView.setAdapter(mainAd); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.addItemDecoration(new Divider()); PuBu decoration = new PuBu(16); recyclerView.addItemDecoration(decoration); bean = new Bean(R.mipmap.i1, "hahaha"); list.add(bean); bean = new Bean(R.mipmap.i2, "hahaha"); list.add(bean); bean = new Bean(R.mipmap.i3, "hahaha"); list.add(bean); bean = new Bean(R.mipmap.i4, "hahaha"); list.add(bean); bean = new Bean(R.mipmap.i5, "hahaha"); list.add(bean); bean = new Bean(R.mipmap.i6, "hahaha"); list.add(bean); bean = new Bean(R.mipmap.i7, "hahaha"); list.add(bean); bean = new Bean(R.mipmap.i8, "hahaha"); list.add(bean); bean = new Bean(R.mipmap.i9, "hahaha"); list.add(bean); bean = new Bean(R.mipmap.i10, "hahaha"); list.add(bean); mainAd.setOnItemListener(new MainAd.OnItemListener() { @Override public void onClick(View v, int pos, Bean city) { Toast.makeText(MainActivity.this, pos + "", Toast.LENGTH_SHORT).show(); } }); } private Handler mHandler = new Handler() { public void handleMessage(android.os.Message msg) { switch (msg.what) { case 1: swipeRefreshLayout.setRefreshing(false); break; } }; };}
//适配器
package com.example.test.myapplication; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import java.util.List; /** * Created by 11 on 2016/3/30. */ public class MainAd extends RecyclerView.Adapter<MainAd.ViewHolder> { private List<Bean> list; private OnItemListener listener; public void setOnItemListener(OnItemListener onItemListener) { this.listener = onItemListener; } public MainAd(List<Bean> list) { this.list = list; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false); ViewHolder vh = new ViewHolder(view); return vh; } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.tvItme.setText(list.get(position).gettext()); holder.imgItme.setImageResource(list.get(position).getImgUrl()); } @Override public int getItemCount() { return list.size(); } public class ViewHolder extends RecyclerView.ViewHolder { private ImageView imgItme; private TextView tvItme; public ViewHolder(View itemView) { super(itemView); imgItme = (ImageView) itemView.findViewById(R.id.img_Item); tvItme = (TextView) itemView.findViewById(R.id.tv_Item); itemView.setOnClickListener(new View.OnClickListener() { @Override public void nClick(View v) { if (listener != null) { listener.onClick(v,getLayoutPosition(),list.get(getLayoutPosition())); } } }); } } interface OnItemListener { void onClick(View v, int pos, Bean city); } }//--------------------xml文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view_test_rv" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.SwipeRefreshLayout> </RelativeLayout>
RecyclerView的基本使用
最新推荐文章于 2022-10-04 07:00:00 发布