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 完美实现图片圆角和圆形( ...
随机推荐
- 5G到来,App的未来,是JavaScript,Flutter还是Native ?
Native App React Native(RN)发布于2015年,也是使用JavaScript语言进行跨平台APP的开发.与H5开发不同的是,它使用JS桥接技术在运行时编译成各个平台的Nativ ...
- STM32F0使用LL库实现SHT70通讯
在本次项目中,限于空间要求我们选用了STM32F030F4作为控制芯片.这款MCU不但封装紧凑,而且自带的Flash空间也非常有限,所以我们选择了LL库实现.本篇我们将基于LL库采用模拟I2C接口的方 ...
- iOS unity 互相调用加载高德地图时
需要增加 mapView.delegate = self 这是一种设计模式,有的人称为代理,有的人称为委托,比如有A,B两个控制器,由A可以push到B,B可以pop回A,现在有一种情况,A中有一个l ...
- 如何选择 Apache Tomcat 与 JDK 版本
Apache Tomcat Version
- vue 图片地址错误处理
<img src="/logo.png" :onerror="defaultImg"> data() { return { defaultImg: ...
- Lesson 1-1
1.1常见难记的几种运算符 1.1.1 除运算 ‘/’ 除运算的结果为小数,即浮点数. >>> 10/3 3.3333333333333335 >>> 10/2 5 ...
- 在ubuntu18 安装nginx过程,以及遇到的错误!
1.下载 nginx下载的地址:https://nginx.org/en/download.html 2.解压 指定一个目录下面放置下载的文件,然后解压文件 命令:tar zxvf nginx-1.6 ...
- Zabbix中获取各用户告警媒介分钟级统计
任务内容: 获取Zabbix各用户告警媒介分钟级统计,形成趋势图,便于观察各用户在每分钟收到的告警数量,在后续处理中,可以根据用户在某时间段内(例如3分钟内)收到的邮件总数,来判断是否有告警洪水的现象 ...
- 使用Jenkins时,如果GIT_COMMIT无变化,跳过构建
使用Jenkins时,如果GIT_COMMIT无变化,跳过构建 使用插件: conditional-buildstep A buildstep wrapping any number of ot ...
- day19其他模块
collections模块 详细内容 http://www.cnblogs.com/Eva-J/articles/7291842.html 1.namedtuple: 生成可以使用名字来访问元素内容的 ...