RecyclerView的点击事件
来源:互联网 发布:淘宝达人怎么升级到v2 编辑:程序博客网 时间:2024/06/11 05:42
主Main acitivity
public class MainActivity extends AppCompatActivity { //声明全局变量 RecyclerView recyclerView; Adapter adapter; private List<Bean.NewslistBean> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件 recyclerView= (RecyclerView) findViewById(R.id.review); //设置布局样式 recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL)); //初始化okHttp OkHttpClient okHttpClient=new OkHttpClient(); //new Call /*Request request = new Request.Builder().url("http://api.tianapi.com/meinv/?key=2a0024d1f7f558e09936f697580f1643&num=10").build();*/ Request request = new Request.Builder().url("http://api.tianapi.com/travel/?key=2a0024d1f7f558e09936f697580f1643&num=10 \n").build(); Call call = okHttpClient.newCall(request); call.enqueue(new Callback() { private Adapter a; @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String json = response.body().string(); Gson gson = new Gson(); Bean bean = gson.fromJson(json,Bean.class); List<Bean.NewslistBean> list = bean.getNewslist(); adapter = new Adapter(MainActivity.this,list); runOnUiThread(new Runnable() { @Override public void run() { recyclerView.setAdapter(adapter); } }); } }); }}
创建一个Adapter类
public class Adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private MainActivity mainActivity; private List<Bean.NewslistBean> list; private List<Integer> heightList;//装产出的随机数 public Adapter(MainActivity mainActivity, List<Bean.NewslistBean> list) { this.mainActivity = mainActivity; this.list = list; heightList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { int height = new Random().nextInt(200) + 100;//[100,300)的随机数 heightList.add(height); } } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(mainActivity, R.layout.list_item, null); RecViewHolder recViewHolder = new RecViewHolder(view); return recViewHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { RecViewHolder recViewHolder = (RecViewHolder) holder; recViewHolder.textView.setText(list.get(position).getTitle()); Glide.with(mainActivity).load(list.get(position).getPicUrl()).into(recViewHolder.imageView); //设置动态图片 ViewGroup.LayoutParams params = ((RecViewHolder) holder).imageView.getLayoutParams(); params.height=heightList.get(position); ((RecViewHolder) holder).imageView.setLayoutParams(params); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { /* Toast.makeText(mainActivity,"我點擊了",Toast.LENGTH_SHORT).show();*/ Intent intent=new Intent(mainActivity,hhhh.class); mainActivity.startActivity(intent); } }); } @Override public int getItemCount() { return list != null ? list.size() : 0 ; } class RecViewHolder extends RecyclerView.ViewHolder{ ImageView imageView; TextView textView; public RecViewHolder(View itemView) { super(itemView); imageView = (ImageView) itemView.findViewById(R.id.img); textView = (TextView) itemView.findViewById(R.id.tv); } } }
创建一个Bean
public class Bean { /** * code : 200 * msg : success * newslist : [{"ctime":"2016-03-06 14:11","title":"靓丽空姐","description":"华声美女","picUrl":"http://image.hnol.net/c/2015-12/16/13/201512161312194661-3356886.jpg","url":"http://bbs.voc.com.cn/mm/meinv-6919217-0-1.html"},{"ctime":"2016-03-06 14:11","title":"欧美明星LadyGag时尚性感杂志封面拍摄","description":"114美女","picUrl":"http://t2.du114.com/uploads/151216/10-151216104640252.jpg","url":"http://www.du114.com/a/oumeimeinv/76419.html"},{"ctime":"2016-03-06 14:11","title":"日本童颜女优大貫彩香青春活力人体艺术","description":"114美女","picUrl":"http://t2.du114.com/uploads/151216/10-15121614203OF.jpg","url":"http://www.du114.com/meinvtupian/rentiyishu/77440.html"},{"ctime":"2016-03-06 14:11","title":"日本气质女优伊藤みく性感泳装人体艺术","description":"114美女","picUrl":"http://t2.du114.com/uploads/151216/10-151216142055I6.jpg","url":"http://www.du114.com/meinvtupian/rentiyishu/77441.html"},{"ctime":"2016-03-06 14:11","title":"日本90后女优瀨尾秋子性感大尺度人体艺术","description":"114美女","picUrl":"http://t2.du114.com/uploads/151216/10-15121614201cG.jpg","url":"http://www.du114.com/meinvtupian/rentiyishu/77439.html"},{"ctime":"2016-03-06 14:11","title":"日本短发女优中川朋美性感大尺度内衣人体艺术","description":"114美女","picUrl":"http://t2.du114.com/uploads/151216/10-151216142001F0.jpg","url":"http://www.du114.com/meinvtupian/rentiyishu/77438.html"},{"ctime":"2016-03-06 14:11","title":"日本气质女优西田麻衣性感妖娆人体艺术","description":"114美女","picUrl":"http://t2.du114.com/uploads/151216/10-151216141941602.jpg","url":"http://www.du114.com/meinvtupian/rentiyishu/77437.html"},{"ctime":"2016-03-06 14:11","title":"小清新美女清纯甜美写真","description":"114美女","picUrl":"http://t2.du114.com/uploads/151216/10-151216141910259.jpg","url":"http://www.du114.com/a/meinvxz/70066.html"},{"ctime":"2016-03-06 14:11","title":"宝","description":"华声美女","picUrl":"http://image.hnol.net/c/2015-12/16/20/201512162035153651-1876615.jpg","url":"http://bbs.voc.com.cn/mm/meinv-6920370-0-1.html"},{"ctime":"2016-03-06 14:11","title":"☆成熟女人\u2026\u2026[胸部平平 简思恩 140p]\u2026\u2026第七百七十二辑","description":"华声美女","picUrl":"http://image.hnol.net/c/2015-12/16/19/201512161900305821-1559530.jpg","url":"http://bbs.voc.com.cn/mm/meinv-6920218-0-1.html"}] */ private int code; private String msg; private List<NewslistBean> newslist; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public List<NewslistBean> getNewslist() { return newslist; } public void setNewslist(List<NewslistBean> newslist) { this.newslist = newslist; } public static class NewslistBean { /** * ctime : 2016-03-06 14:11 * title : 靓丽空姐 * description : 华声美女 * picUrl : http://image.hnol.net/c/2015-12/16/13/201512161312194661-3356886.jpg * url : http://bbs.voc.com.cn/mm/meinv-6919217-0-1.html */ private String ctime; private String title; private String description; private String picUrl; private String url; public String getCtime() { return ctime; } public void setCtime(String ctime) { this.ctime = ctime; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getPicUrl() { return picUrl; } public void setPicUrl(String picUrl) { this.picUrl = picUrl; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } }}
最后创建一个跳转类就ok,因为代码简单我就不往上面传了
主main_activity布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="xiaojia.moniyuekao.MainActivity"> <android.support.v7.widget.RecyclerView android:id="@+id/review" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView></RelativeLayout>
list_item布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageView android:id="@+id/img" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitXY" android:src="@mipmap/ic_launcher"/> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hh" /></LinearLayout>
所有依赖
compile 'com.android.support:appcompat-v7:26.0.0-alpha1'compile 'com.android.support:mediarouter-v7:26.0.0-alpha1'compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'compile 'com.squareup.okio:okio:1.5.0'compile 'com.squareup.okhttp3:okhttp:3.2.0'compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'compile 'com.google.code.gson:gson:2.8.2'compile 'com.github.bumptech.glide:glide:3.7.0'compile 'com.android.support:design:26.0.0-alpha1'testCompile 'junit:junit:4.12'
网络权限
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
阅读全文
0 0
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView 的点击事件!
- RecyclerView的点击事件
- RecyclerView 的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- RecyclerView的点击事件
- Recyclerview的点击事件
- Python-数据库SQLite 游标
- tabLayout
- 欢迎使用CSDN-markdown编辑器
- CentOS 7 安装 mosquitto
- xlv+banner
- RecyclerView的点击事件
- python数据库中表的操作
- DrawerLayout
- MFC学习笔记4 VC常用数据类型列表
- 快讯 | 腾讯昨日盘中超Facebook成全球第五大市值公司
- Hihocoder 1632 : Secret Poems 思维|技巧
- OpenCV 第五章课后题6 创建一个清晰的掩码
- XListView请求网络数据的使用
- Android butterknife的使用