fragment
package com.bawei.day22.frag;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import com.bawei.day22.CompanyView;
import com.bawei.day22.R;
import com.bawei.day22.adapter.MyAdapter;
import com.bawei.day22.presenter.GoodsPresenter;
import com.bawei.day22.view.GoodsView;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import org.json.JSONArray;
/**
-
@author 王艺霏
-
@fileName Fragment1
-
@package com.bawei.day22.frag
**/
public class Fragment1 extends Fragment implements GoodsView {
private int page=1;
private Handler handler = new Handler();
private String goods1 = “鞋子”;
private XRecyclerView xly;
private CompanyView com;
private GoodsPresenter goodsPresenter;@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment1,container,false);
//找控件
com = view.findViewById(R.id.com);
xly = view.findViewById(R.id.xly);
//创建管理器
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
xly.setLayoutManager(linearLayoutManager);//实例化presenter goodsPresenter = new GoodsPresenter(this); //点击监听 com.setOnSearchListener(new CompanyView.OnSearchListener() { @Override public void onSearch(String goods) { goods1=goods; //传值 goodsPresenter.sendParameter(goods1,page); } }); //刷新 xly.setLoadingListener(new XRecyclerView.LoadingListener() { @Override public void onRefresh() { handler.postDelayed(new Runnable() { @Override public void run() { page=1; goodsPresenter.sendParameter(goods1,page); xly.refreshComplete(); } },2000); } @Override public void onLoadMore() { handler.postDelayed(new Runnable() { @Override public void run() { page++; goodsPresenter.sendParameter(goods1,page); xly.loadMoreComplete(); } },2000); } }); return view;
}
@Override
public void view(JSONArray result) {Toast.makeText(getActivity(), result.length()+"", Toast.LENGTH_SHORT).show(); final MyAdapter myAdapter = new MyAdapter(getActivity(), result); xly.setAdapter(myAdapter); myAdapter.setOnItenClickListener(new MyAdapter.OnItenClickListener() { @Override public void onClick(int i) { } @Override public void onLongClick(final int i) { Toast.makeText(getContext(), "hahahaha", Toast.LENGTH_SHORT).show(); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("你确定要删除嘛"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { myAdapter.removeItem(i); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); builder.show(); } });
}
}
//adapter
package com.bawei.day22.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bawei.day22.R;
import com.bumptech.glide.Glide;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/**
-
@author 王艺霏
-
@fileName MyAdapter
-
@package com.bawei.day22.adapter
**/
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
Context context;
JSONArray result;
int TYPE_ONE=0;
int TYPE_TWO=1;
private MyViewHolder myViewHolder;
private MyViewHolder1 myViewHolder1;public MyAdapter(Context context, JSONArray result) {
this.context = context;
this.result = result;
}
//创建接口
public interface OnItenClickListener{
void onClick(int i);
void onLongClick(int i);
}
//声明接口
public OnItenClickListener onItenClickListener;//set
public void setOnItenClickListener(OnItenClickListener onItenClickListener){
this.onItenClickListener=onItenClickListener;
}//多条目
@Override
public int getItemViewType(int position) {
if (position%2==0){
return TYPE_ONE;
}
return TYPE_TWO;}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
if (i==TYPE_ONE){
View view = LayoutInflater.from(context).inflate(R.layout.lay,null,false);
myViewHolder = new MyViewHolder(view);
return myViewHolder;
}
else {
View view1 = LayoutInflater.from(context).inflate(R.layout.lay1,null,false);
myViewHolder1 = new MyViewHolder1(view1);
return myViewHolder1;
}
}@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, final int i) {
int itemViewType = getItemViewType(i);
if (itemViewType==TYPE_ONE){
try {
JSONObject jsonObject = result.getJSONObject(i);
String commodityName = jsonObject.getString(“commodityName”);
String masterPic = jsonObject.getString(“masterPic”);
myViewHolder.name.setText(commodityName);
Glide.with(context).load(masterPic).into(myViewHolder.img);
myViewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
onItenClickListener.onLongClick(i);
return true;
}
});
} catch (JSONException e) {
e.printStackTrace();
}} else { MyViewHolder1 myViewHolder1 = (MyViewHolder1) viewHolder; try { JSONObject jsonObject = result.getJSONObject(i); String commodityName = jsonObject.getString("commodityName"); myViewHolder1.name1.setText(commodityName); myViewHolder1.itemView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { onItenClickListener.onLongClick(i); return true; } }); } catch (JSONException e) { e.printStackTrace(); } }
}
@Override
public int getItemCount() {
return result.length();
}public void removeItem(int postion){
result.remove(postion);
notifyDataSetChanged();
}public class MyViewHolder extends RecyclerView.ViewHolder{
private final ImageView img; private final TextView name; public MyViewHolder(@NonNull View itemView) { super(itemView); img = itemView.findViewById(R.id.img); name = itemView.findViewById(R.id.name); }
}
public class MyViewHolder1 extends RecyclerView.ViewHolder{private final TextView name1; public MyViewHolder1(@NonNull View itemView) { super(itemView); name1 = itemView.findViewById(R.id.name1); }
}
}