搜索框

fragment

package com.example.yf.zk03.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.NestedScrollingParent;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.bawei.swiperefreshlayoutlibrary.SwipyRefreshLayout;
import com.example.yf.zk03.R;
import com.example.yf.zk03.adapter.MyAdapter;
import com.example.yf.zk03.bean.Bean;
import com.example.yf.zk03.presenter.Presenter;
import com.google.gson.Gson;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;

import java.util.List;

public class FragmentOne extends Fragment {

    private RecyclerView recycl;
    private Presenter presenter;
    private Button shou;
    private EditText zhi;
    private RefreshLayout mRefreshLayout;
    private MyAdapter myAdapter;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.one, container, false);
        recycl = view.findViewById(R.id.recycl);
        shou = view.findViewById(R.id.shou);
        zhi = view.findViewById(R.id.zhi);
        mRefreshLayout = view.findViewById(R.id.refreshLayout);
        mRefreshLayout.setEnableLoadMore(true);
        mRefreshLayout.setEnableRefresh(true);

        shou.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String s = zhi.getText().toString();
                presenter.GetPreData(s);
            }
        });
        mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh(@NonNull RefreshLayout refreshLayout) {

                myAdapter.notifyDataSetChanged();
                refreshLayout.finishRefresh();

            }
        });
        mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
            @Override
            public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
                myAdapter.notifyDataSetChanged();
                refreshLayout.finishLoadMore();
            }
        });
        GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 2);
        recycl.setLayoutManager(gridLayoutManager);
        presenter = new Presenter(this);

        return view;
    }

    public void GetView(final String data) {
        getActivity().runOnUiThread(new Runnable() {

            private List<Bean.ResultBean> list;

            @Override
            public void run() {
                Gson gson = new Gson();
                Bean bean = gson.fromJson(data, Bean.class);
                list = bean.getResult();
                myAdapter = new MyAdapter(getActivity(), list);
                recycl.setAdapter(myAdapter);

                myAdapter.setOnItemClickListener(new MyAdapter.onItemClickListener() {
                    @Override
                    public void onItemClickListener(View view, int position) {
                        Toast.makeText(getActivity(),"点击",Toast.LENGTH_SHORT).show();
                    }
                });
                myAdapter.setItemLongClickListener(new MyAdapter.onItemLongClickListener() {
                    @Override
                    public void onItemLongClickListener(View view, int position) {
                        list.remove(position);
                        myAdapter.notifyItemRangeRemoved(position,1);
                        Toast.makeText(getActivity(),"删除成功",Toast.LENGTH_SHORT).show();
                    }
                });
            }
        });
    }
}

```java
adapter

package com.example.yf.zk03.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.yf.zk03.R;
import com.example.yf.zk03.bean.Bean;

import java.util.List;

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
Context context;
List<Bean.ResultBean>list;
public MyAdapter(Context context, List<Bean.ResultBean> list) {
this.list=list;
this.context =context;
}

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View view = View.inflate(viewGroup.getContext(), R.layout.item1, null);
    return new ViewHolder(view);
}

@Override
public void onBindViewHolder(@NonNull final ViewHolder viewHolder, int i) {
    viewHolder.title.setText(list.get(i).getCommodityName());
    viewHolder.price.setText(list.get(i).getPrice()+"");
    Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.img);
    viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int position = viewHolder.getLayoutPosition();
            View itemView = viewHolder.itemView;
            if (itemClickListener !=null){
                itemClickListener.onItemClickListener(itemView,position);
            }
        }
    });
    viewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            int position = viewHolder.getAdapterPosition();
            View itemView = viewHolder.itemView;
            if (itemLongClickListener!=null){
                itemLongClickListener.onItemLongClickListener(itemView,position);
            }
            return true;
        }
    });
}

@Override
public int getItemCount() {
    return list.size();
}

public class ViewHolder extends RecyclerView.ViewHolder {

    private TextView title;
    private TextView price;
    private ImageView img;

    public ViewHolder(@NonNull View itemView) {
        super(itemView);
        title = itemView.findViewById(R.id.title);
        price = itemView.findViewById(R.id.price);
        img = itemView.findViewById(R.id.img);
    }
}
//点击监听
public interface onItemClickListener{
    void onItemClickListener(View view,int position);
}
//长摁监听
public interface onItemLongClickListener{
    void onItemLongClickListener(View view,int position);
}
//声明点击接口
public onItemClickListener itemClickListener;
//声明长按接口
public onItemLongClickListener itemLongClickListener;

//设置监听方法
public void setOnItemClickListener(MyAdapter.onItemClickListener onItemClickListener) {
    this.itemClickListener = onItemClickListener;
}
public void setItemLongClickListener(MyAdapter.onItemLongClickListener itemLongClickListener) {
    this.itemLongClickListener = itemLongClickListener;
}

}

p

package com.example.yf.zk03.presenter;

import com.example.yf.zk03.api.Api;
import com.example.yf.zk03.fragment.FragmentOne;
import com.example.yf.zk03.model.IModel;
import com.example.yf.zk03.model.Model;

public class Presenter implements IPresenter {
public static String Shows=“http://172.17.8.100/small/commodity/v1/findCommodityByKeyword?page=1&count=8&keyword=”;
FragmentOne fragmentOne;
private Model model;

public  Presenter(FragmentOne fragmentOne) {
    this.fragmentOne = fragmentOne;
    model = new Model();
}

@Override
public void GetPreData(String s) {
    model.GetData(Shows+s, new IModel.Callback() {
        @Override
        public void Success(String data) {
            fragmentOne.GetView(data);
        }
    });
}

}

p接口

```java
package com.example.yf.zk03.presenter;

public interface IPresenter {
    void GetPreData(String s);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值