Retrofit 实现获取往里圆角图片,且传值到另一个页面
记得加网络权限
java包:
//
compile 'jp.wasabeef:glide-transformations:3.0.1' implementation 'com.squareup.retrofit2:converter-gson:2.3.0' implementation 'com.squareup.okhttp3:okhttp:3.9.0' implementation 'com.mcxiaoke.next:recycler:1.5.0' implementation 'com.github.bumptech.glide:glide:3.7.0'
Main:
main:
public class MainActivity extends AppCompatActivity { private RecyclerView mRecycle_View;
private Adapter_OkHttp mAdapter_okHttp; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
Retrofit builder = new Retrofit.Builder()
.baseUrl("http://www.qubaobei.com/")
.addConverterFactory(GsonConverterFactory.create())
.build();
Call<Bean> okhttp = builder.create(OkHttp_zhoukao.class).getOkhttp();
okhttp.enqueue(new Callback<Bean>() {
@Override
public void onResponse(Call<Bean> call, Response<Bean> response) {
final ArrayList<Bean.DataBean> data = (ArrayList<Bean.DataBean>) response.body().getData(); mAdapter_okHttp = new Adapter_OkHttp(data,MainActivity.this); StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager(4,StaggeredGridLayoutManager.HORIZONTAL); mRecycle_View.setAdapter(mAdapter_okHttp); mRecycle_View.setLayoutManager(layoutManager); mAdapter_okHttp.setOnItemListner(new Adapter_OkHttp.OnItemListner() {
@Override
public void onClick(int position) {
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
intent.putExtra("Pic",data.get(position).getPic());
intent.putExtra("Title",data.get(position).getTitle());
intent.putExtra("Collect_num",data.get(position).getCollect_num());
intent.putExtra("Food_str",data.get(position).getFood_str());
startActivity(intent); }
}); } @Override
public void onFailure(Call<Bean> call, Throwable t) {
Toast.makeText(MainActivity.this, "请求失败", Toast.LENGTH_SHORT).show();
}
});
} private void initView() {
mRecycle_View = (RecyclerView) findViewById(R.id.mRecycle_View);
}
}
Main2:
public class Main2Activity extends AppCompatActivity {
private ImageView img;
private TextView mTitle;
private TextView mCollect_num;
private TextView mFood_str;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
initView();
//接收的值
String Pic = getIntent().getStringExtra("Pic");
String Title = getIntent().getStringExtra("Title");
String Collect_num = getIntent().getStringExtra("Collect_num");
String Food_str = getIntent().getStringExtra("Food_str");
Glide.with(this).load(Pic)
.apply(RequestOptions.bitmapTransform(new CropCircleTransformation()))
.into(img);
mTitle.setText(Title);
mCollect_num.setText(Collect_num);
mFood_str.setText(Food_str);
Log.e("Pic",mTitle.toString());
Log.e("Pic",mCollect_num.toString());
Log.e("Pic",mFood_str.toString());
}
private void initView() {
img = (ImageView) findViewById(R.id.img);
mTitle = (TextView) findViewById(R.id.Title);
mCollect_num = (TextView) findViewById(R.id.Collect_num);
mFood_str = (TextView) findViewById(R.id.Food_str);
}
}
Adapter:
public class Adapter_OkHttp extends RecyclerView.Adapter<Adapter_OkHttp.ViewHodle> {
private ArrayList<Bean.DataBean>mList;
private Context mContext;
public Adapter_OkHttp(ArrayList<Bean.DataBean> list, Context context) {
mList = list;
mContext = context;
}
@Override
public ViewHodle onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.item,null);
ViewHodle viewHodle = new ViewHodle(view);
return viewHodle;
}
@Override
public void onBindViewHolder(ViewHodle holder, int position) {
holder.mTextView1.setText(mList.get(position).getTitle());
holder.mTextView2.setText(mList.get(position).getCollect_num());
holder.mTextView3.setText(mList.get(position).getCollect_num());
Glide.with(mContext).load(mList.get(position).getPic())
.apply(RequestOptions.bitmapTransform(new CropCircleTransformation()))
.into(holder.mImageView);
}
@Override
public int getItemCount() {
return mList == null ? 0 :mList.size();
}
public class ViewHodle extends RecyclerView.ViewHolder {
private ImageView mImageView;
private TextView mTextView1,mTextView2,mTextView3;
public ViewHodle(View itemView) {
super(itemView);
mImageView = itemView.findViewById(R.id.mImage);
mTextView1 =itemView.findViewById(R.id.title);
mTextView2 = itemView.findViewById(R.id.title2);
mTextView3 = itemView.findViewById(R.id.title3);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mOnItemListner !=null){
mOnItemListner.onClick(getPosition());
}
}
});
}
}
public interface OnItemListner{
void onClick(int position);
}
public OnItemListner mOnItemListner;
public void setOnItemListner(OnItemListner mOnItemListner){
this.mOnItemListner = mOnItemListner;
}
}
OkHttp:
public interface OkHttp_zhoukao {
@GET("ios/cf/dish_list.php?stage_id=1&limit=30&page=1")
Call<Bean> getOkhttp();
}
记得加
Retrofit 实现获取往里圆角图片,且传值到另一个页面的更多相关文章
- 在小程序中修改上一个页面里data中的数据调用上一个页面的方法
//获取已经打开的页面的数组 var pages = getCurrentPages(); //获取上一个页面的所有的方法和data中的数据 var lastpage = pages[pages.l ...
- jsp中点击一个图片跳转到另一个页面的方法
1.这是jsp页面中的关于图片的那段代码 <img src="images/tj1.png " id="tj1"></img> 2.跳转 ...
- asp 文章内容里的图片宽度过大 撑爆页面布局 解决办法
有时候帮朋友做做企业网站,还是asp+access来的快,也经济(不用开数据库空间),fck做的后台内容编辑功能,但是他们传图片的时候不靠谱,图片不管有多宽都直接up上来,把前台页面撑的是面目全非! ...
- 自定义view实现圆角图片
前两天想实现一个圆角图片的效果,通过网络搜索后找到一些答案.这里自己再记录一下,加深一下自己的认识和知识理解. 实现圆角图片的思路是自定义一个ImageView,然后通过Ondraw()重绘的功能,将 ...
- Android Xfermode 实战 实现圆形、圆角图片
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42094215,本文出自:[张鸿洋的博客] 1.概述 其实这篇本来准备Androi ...
- Android Xfermode 真实 实现全面、圆角图片
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/42094215.本文出自:[张鸿洋的博客] 1.概述 事实上这篇本来准备Andro ...
- iOS 图片文件格式判断、圆角图片
1.圆角图片 // 设置圆形图片(放到分类中使用) - (UIImage *)cutCircleImage { UIGraphicsBeginImageContextWithOptions(self. ...
- RoundedBitmapDrawable生成圆角图片
Bitmap src = BitmapFactory.decodeResource(getResources(), imageId); //获取Bitmap图片 RoundedBitmapDrawab ...
- Android BitmapShader 实战 实现圆形、圆角图片
转载自:http://blog.csdn.net/lmj623565791/article/details/41967509 1.概述 记得初学那会写过一篇博客Android 完美实现图片圆角和圆形( ...
随机推荐
- 树链剖分——模板题hdu3966
#include<bits/stdc++.h> using namespace std; #define ll long long #define maxn 50005 ]; int he ...
- Tomcat 启动报错SEVERE: Unable to process Jar entry [javassist/util/proxy/SerializedProxy$1.class]
错误信息 springboot + spring mvc 的maven项目,在tomcat启动的时候报错,错误信息如下: SEVERE: Unable to process Jar entry [ja ...
- [转] iphoneX、iphoneXS、iphoneXSMax、iphoneXR适配
基础知识 1. 关于iphoneX .iphoneXS.iphoneXSMax.iphoneXR机型的大小和像素 机型尺寸 注意:开发人员只需要记住开发尺寸 2. 屏幕组成 齐刘海(44px) + ...
- C# 防止程序多开的两种方法
互斥对象防止程序多开 private void Form1_Load(object sender, EventArgs e) { bool Exist;//定义一个bool变量,用来表示是否已经运行 ...
- VS发布IIS Express,允许外网调式(如微信开发)
环境 VS2015 IIS Express win10操作系统 natapp内网穿透 localhost && 127.0.0.1 && 本机内网IP 产生现象:VS调 ...
- Linux中CPU亲和性(affinity)
0.准备知识 超线程技术(Hyper-Threading):就是利用特殊的硬件指令,把两个逻辑内核(CPU core)模拟成两个物理芯片, 让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和 ...
- git clean 删除忽略文件 和 未被跟踪文件及文件夹
git clean 删除忽略文件 和 未被跟踪文件及文件夹 概念 首先我们需要认清 忽略的文件 和 未被跟踪的文件 忽略的文件:.gitignore 中忽略的文件 未被跟踪的文件:没有被忽略,但是还没 ...
- Vue-Router嵌套路由
1:查看router-view所对应的位置,是属于顶级出口还是存在于某个组件当中 2:当router-view存在于某个组件当中时 const User = { template: ` <div ...
- unzip解压失败
[root@localhost soft]# unzip QY.zip Archive: QY.zip End-of-central-directory signature not found. Ei ...
- 五、OpenStack—nova组件介绍与安装
一.nova介绍 Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源.OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的. ...