xml模板文件1:
<ImageView
android:id="@+id/Recy_One_Image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/Recy_One_Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="memeda" />
xml.模板文件2:
<ImageView
android:id="@+id/Recy_Two_Image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/Recy_Two_Text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="memeda" />
适配器:
private List<MyBean.DataBean.ObjectsBean> mlist ;
private Context context;
private final static int Item_One = 1;
private final static int Item_Two = 2;
public MyAdapter(List<MyBean.DataBean.ObjectsBean> mlist, Context context) {
this.mlist = mlist;
this.context = context;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(context);
View view;
RecyclerView.ViewHolder holder;
if (viewType == Item_One) {
view = inflater.inflate(R.layout.recy_item_one, parent, false);
holder = new HolderOne(view);
} else {
view = inflater.inflate(R.layout.recy_item_two, parent, false);
holder = new HolderTwo(view);
}
view.setOnClickListener(this);
return holder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
MyBean.DataBean.ObjectsBean objectsBean = mlist.get(position);
if (holder instanceof HolderOne) {
((HolderOne) holder).mTextOne.setText(objectsBean.getGmall_product().getTitle());
Glide.with(context).load(objectsBean.getGmall_product()).into(((HolderOne) holder).mImageOne);
((HolderOne) holder).itemView.setTag(position);
} else {
((HolderTwo) holder).mTextTwo.setText(objectsBean.getGmall_product().getTitle());
Glide.with(context).load(objectsBean.getGmall_product().getPic_url()).into(((HolderTwo) holder).mImageTwo);
((HolderTwo) holder).itemView.setTag(position);
}
}
@Override
public int getItemCount() {
return mlist.isEmpty() ? 0 : mlist.size();
}
@Override
public int getItemViewType(int position) {
if (position % 2 == 0) {
return Item_One;
} else {
return Item_Two;
}
}
class HolderOne extends RecyclerView.ViewHolder {
private TextView mTextOne;
private ImageView mImageOne;
public HolderOne(View itemView) {
super(itemView);
mTextOne = (TextView) itemView.findViewById(R.id.Recy_One_Text);
mImageOne = (ImageView) itemView.findViewById(R.id.Recy_One_Image);
}
}
class HolderTwo extends RecyclerView.ViewHolder {
private TextView mTextTwo;
private ImageView mImageTwo;
public HolderTwo(View itemView) {
super(itemView);
mTextTwo = (TextView) itemView.findViewById(R.id.Recy_Two_Text);
mImageTwo = (ImageView) itemView.findViewById(R.id.Recy_Two_Image);
}
}
public interface OnItemClick {
void setOnItem(View v, int position);
}
private OnItemClick onitem;
@Override
public void onClick(View v) {
if (onitem != null) {
onitem.setOnItem(v, (int) v.getTag());
}
}
public void setOnItemListener(OnItemClick item) {
this.onitem = item;
}
代码栏:
private RecyclerView recy;
private String mURL = "http://huixinguiyu.cn/Assets/js/competitive.js";
public MyAdapter myAdapter;
private List<MyBean.DataBean.ObjectsBean> objects = new ArrayList<>();
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
String obj = (String) msg.obj;
Gson gson = new Gson();
MyBean myBean = gson.fromJson(obj, MyBean.class);
objects = myBean.getData().getObjects();
myAdapter = new MyAdapter(objects, HomeActivity.this);
recy.setAdapter(myAdapter);
//适配器监听跳转详情页面:
myAdapter.setOnItemListener(new MyAdapter.OnItemClick() {
@Override
public void setOnItem(View v, int position) {
Intent intent = new Intent(HomeActivity.this, XiangQActivity.class);
intent.putExtra("aaa", HomeActivity.this.objects.get(position).getGmall_product().getPic_url());
intent.putExtra("bbb", HomeActivity.this.objects.get(position).getGmall_product().getTitle());
startActivity(intent);
}
});
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
initView();
initData();
}
private void initData() {
OkHttpClient okHttpClient = new OkHttpClient();
Request request = new Request.Builder().url(mURL).build();
okHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
Message message = new Message();
message.obj = response.body().string();
handler.sendMessage(message);
}
});
}
private void initView() {
recy = (RecyclerView) findViewById(R.id.recy);
LinearLayoutManager manager = new LinearLayoutManager(HomeActivity.this);
recy.setLayoutManager(manager);
}
跳转到详情页面+分享到qq:
private void initData() {
Intent intent=getIntent();
String aaa = intent.getStringExtra("aaa");
String bbb = intent.getStringExtra("bbb");
Glide.with(XiangQActivity.this).load(aaa).into(image);
title.setText(bbb);
this.aaa=intent.getStringExtra("aaa");
if (Build.VERSION.SDK_INT >= 23) {
String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CALL_PHONE, Manifest.permission.READ_LOGS, Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.SET_DEBUG_APP, Manifest.permission.SYSTEM_ALERT_WINDOW, Manifest.permission.GET_ACCOUNTS, Manifest.permission.WRITE_APN_SETTINGS};
ActivityCompat.requestPermissions(this, mPermissionList, 123);
}
}
private void initView() {
btn_send = (Button) findViewById(R.id.btn_send);
image = (ImageView) findViewById(R.id.img);
title = (TextView) findViewById(R.id.title);
btn_send.setOnClickListener(this);
}
@Override
public void onClick(View v) {
UMImage image = new UMImage(XiangQActivity.this,aaa);
switch (v.getId()) {
case R.id.btn_send:
new ShareAction(XiangQActivity.this)
.withText("molu")
.withMedia(image)
.setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
.setCallback(new UMShareListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
}
@Override
public void onResult(SHARE_MEDIA share_media) {
}
@Override
public void onError(SHARE_MEDIA share_media, Throwable throwable) {
}
@Override
public void onCancel(SHARE_MEDIA share_media) {
}
}).open();
break;
}
}