package com.example.app.Adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.app.Bean.Jiugg;
import com.example.app.Bean.Shop_bean;
import com.example.app.R;
import java.util.List;
//适配器
public class JiuggRecycleAdapter extends RecyclerView.Adapter<JiuggRecycleAdapter.ViewHolder>{
private Context context;
private List<Shop_bean> list;
public JiuggRecycleAdapter(Context context, List<Shop_bean> list) {
this.context = context;
this.list = list;
}
class ViewHolder extends RecyclerView.ViewHolder{
private final ImageView img1;
private final TextView tv1;
public ViewHolder(View itemView) {
super(itemView);
img1=(ImageView)itemView.findViewById(R.id.img1);
tv1 =(TextView)itemView.findViewById(R.id.tv1);
}
}
@Override
public JiuggRecycleAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = View.inflate(context, R.layout.jiugg_fragment1, null);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(JiuggRecycleAdapter.ViewHolder holder, int position) {
Glide.with(context).load(list.get(position).getImg()).into(holder.img1);
holder.tv1.setText(list.get(position).getName());
}
@Override
public int getItemCount() {
return list.size();
}
}
// 线性布局管理器,第二个参数默认是LinearLayoutManager.VERTICAL,第三个参数默认是false
// LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
// LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true);
// 网格布局
// GridLayoutManager manager = new GridLayoutManager(this, 2);
// 瀑布流
StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(3, LinearLayoutManager.VERTICAL);
rvData.setLayoutManager(manager);
adapter = new RecyclerDataAdapter(this, imgDatas);
rvData.setAdapter(adapter);
//p层
package com.example.moniyk.perseners;
import com.example.moniyk.bean.BeanImg;
import com.example.moniyk.httputils.HttpUtils;
import com.example.moniyk.jiekou.CallBack;
import com.example.moniyk.jiekou.Iview;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Persener {
private Iview inv;
private List<BeanImg.ResultBean.RowsBean> list;
public void attach(Iview inv) {
this.inv = inv;
}
public void get(Map<String,String> map){
HttpUtils.getInstance().get("http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=0&qtime=20160411091603", map, new CallBack() {
@Override
public void onSuccess(Object message) {
BeanImg bean=(BeanImg)message;
BeanImg.ResultBean result = bean.getResult();
list = result.getRows();
inv.success(list);
}
@Override
public void onFailed(Exception error) {
inv.failed(error);
}
}, BeanImg.class);
}
//解决内存泄漏问题
public void deleteView(){
if(inv!=null){
inv=null;
}
}
}
//MainActivity内存泄漏
//内存泄漏
@Override
protected void onDestroy() {
super.onDestroy();
if (persener!=null){
persener.deleteView();
}
}
//掉HashMap<String, String> map = new HashMap<>();
persenerG.get(map);
//MainActivity中获取p层的对象
package com.example.moniyk;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import com.example.moniyk.adapter.Adapter;
import com.example.moniyk.bean.BeanImg;
import com.example.moniyk.bean.Img;
import com.example.moniyk.jiekou.Iview;
import com.example.moniyk.perseners.Persener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class MainActivity extends AppCompatActivity{
private RecyclerView rv;
private Persener persener;
private Adapter Adapter;
private ArrayList<Img> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rv =(RecyclerView)findViewById(R.id.rv);
//p层
persener = new Persener();
persener.attach(new Iview() {
@Override
public void success(List<BeanImg.ResultBean.RowsBean> message) {
for (int i = 0; i < message.size(); i++) {
BeanImg.ResultBean.RowsBean.InfoBean info = message.get(i).getInfo();
List<BeanImg.ResultBean.RowsBean.InfoBean.ActivityBean> activity = info.getActivity();
for (int j = 0; j < activity.size(); j++) {
BeanImg.ResultBean.RowsBean.InfoBean.ActivityBean activityBean = activity.get(j);
String icon = activityBean.getIcon();
list.add(new Img(icon));
}
}
Adapter = new Adapter(MainActivity.this, list);
rv.setAdapter(Adapter);
//点击跳转到购物车
Adapter.setRecycleOnClickListener(new Adapter.OnClickitemListener() {
@Override
public void onItemclick(View view, int postion) {
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
}
});
}
@Override
public void failed(Exception message) {
}
});
persener.get(new HashMap<String, String>());
StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(3, LinearLayoutManager.VERTICAL);
rv.setLayoutManager(manager);
}
//内存泄漏
@Override
protected void onDestroy() {
super.onDestroy();
if (persener!=null){
persener.deleteView();
}
}
}