自定义View

package com.bawei.day24.activity;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.bawei.day24.R;

/**

  • @author 王艺霏

  • @fileName ComplayView

  • @package com.bawei.day24.activity
    **/
    public class ComplayView extends LinearLayout {
    //创建接口
    public interface OnSearchListener{
    void onSearch(String goods);
    }
    //声明接口
    public OnSearchListener onSearchListener;
    //set
    public void setOnSearchListener(OnSearchListener onSearchListener){
    this.onSearchListener=onSearchListener;
    }

    private ImageView lan;
    private EditText et;
    private ImageView sou;

    public ComplayView(Context context) {
    super(context);
    }

    public ComplayView(Context context, AttributeSet attrs) {
    super(context, attrs);
    initData();
    }

    private void initData() {
    //找布局
    View view = LayoutInflater.from(getContext()).inflate(R.layout.item,null,false);
    //添加
    addView(view);
    //找控件
    lan = view.findViewById(R.id.lan);
    et = view.findViewById(R.id.et);
    sou = view.findViewById(R.id.sou);

     //确定点击事件
     sou.setOnClickListener(new OnClickListener() {
         @Override
         public void onClick(View v) {
             //获取输入框的值
             String goods = et.getText().toString();
             if (goods.equals("")){
                 Toast.makeText(getContext(), "输入框不能为空", Toast.LENGTH_SHORT).show();
                 return;
             }
             //接口回调
             onSearchListener.onSearch(goods);
         }
     });
    

    }

    public ComplayView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    }

}

fragment

package com.bawei.day24.frag;

import android.os.Bundle;
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 com.bawei.day24.R;
import com.bawei.day24.activity.ComplayView;
import com.bawei.day24.adapter.MyAdapter;
import com.bawei.day24.presenter.GoodsPresenter;
import com.bawei.day24.view.GoodsView;
import com.jcodecraeer.xrecyclerview.XRecyclerView;

import org.json.JSONArray;

/**

  • @author 王艺霏

  • @fileName Fragment3

  • @package com.bawei.day24.frag
    **/
    public class Fragment3 extends Fragment implements GoodsView {

    private ComplayView com;
    private XRecyclerView xly;
    private GoodsPresenter goodsPresenter;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment3,null,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 ComplayView.OnSearchListener() {
         @Override
         public void onSearch(String goods) {
             //关联p
             goodsPresenter.sendParameter(goods);
         }
     });
    
     return view;
    

    }

    @Override
    public void view(JSONArray result) {
    MyAdapter myAdapter = new MyAdapter(getActivity(), result);
    xly.setAdapter(myAdapter);
    }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值