Android如何实现搜索框

  介绍

这篇文章主要介绍了Android如何实现搜索框,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

具体内容如下

展示效果

 Android如何实现搜索框

代码区

SouActivity

public  class  SouActivity  extends  AppCompatActivity  implements  TextWatcher {   @BindView才能(R.id.app_sou)   EditText 才能;appSou;   @BindView才能(R.id.app_sou_list)   ListView 才能;appSouList;   @BindView才能(R.id.activity_sou)   RelativeLayout 才能;activitySou;   private 才能String  mUrl =,“http://120.27.23.105/product/searchProducts";   private 才能;List< MySouFr.DataBean>, sdata;   private 才能;MyBase  myBase;   private 才能String 代;      @Override才能   protected 才能;void  onCreate (Bundle  savedInstanceState), {   ,,,super.onCreate (savedInstanceState);   ,,,setContentView (R.layout.activity_sou);   ,,,ButterKnife.bind(这个);   ,,,sdata=https://www.yisu.com/zixun/new ArrayList ();   appSou.addTextChangedListener(这个);   appSou。setOnFocusChangeListener(新View.OnFocusChangeListener () {   @Override   公共空间onFocusChange(视图视图中,布尔b) {   如果(b)   {   appSou.setText (" ");   }   }   });         }      @Override   公共空beforeTextChanged (CharSequence进行CharSequence进行,int, int i1, int i2) {      }      @Override   公共空onTextChanged (CharSequence进行CharSequence进行,int, int i1, int i2) {//获取输入框的值   .trim .toString代=appSou.getText () () ();      OkHttp3Utils.getInstance ()。doGet(尤里卡+”?关键词=" +代+ "和页面=1”,新GsonObjectCallback () {      @Override   公共空间onUi(最终MySouFr MySouFr) {/*适配器*/如果(代!=零! asou.equals (" ")) {   sdata=mySouFr.getData ();   myBase=new myBase ();   appSouList.setAdapter (myBase);   appSouList。setOnItemClickListener(新AdapterView.OnItemClickListener () {   @Override   公共空间onItemClick (AdapterView <?> adapterView,查看视图,int i,长l) {   目的意图=new (SouActivity意图。这一点,Sou_item_Activity.class);   intent.putExtra (“url”, mySouFr.getData () . get (i) .getDetailUrl ());   startActivity(意图);//Toast.makeText (SouActivity。这个,”假装你已经点击了哦!”,Toast.LENGTH_SHORT),告诉();   }   });   }else if (myBase !=null) {   sdata.clear ();   myBase.notifyDataSetChanged ();   }   }      @Override   公共空间onFailed(调用调用,IOException e) {      }   });   }         @Override   公共空间afterTextChanged(可编辑的编辑){      }      类MyBase延伸BaseAdapter {      @Override   公共int getCount () {   返回sdata.size ();   }      @Override   公共对象getItem (int i) {   返回sdata.get(我);   }      @Override   公共长getItemId (int i) {   返回我;   }      @Override   观点看来,公众视线getView (int我ViewGroup ViewGroup) {   Vh Vh=零;   如果(查看==null) {   视图=View.inflate (SouActivity.this R.layout.item_sou, null);   vh=new vh ();   vh.tv1=(TextView) view.findViewById (R.id.item_sou_text1);   view.setTag (vh);   其他}{   vh=(vh) view.getTag ();   }   Log.d(“主要”,sdata.get (i) .getTitle ());   vh.tv1.setText (sdata.get (i) .getTitle ());   返回视图;   }   }   类Vh {   TextView tv1;   }   }

activity_sou

& lt; ? xml  version=?.0“,编码=皍tf-8" ?比;   & lt; RelativeLayout  xmlns: android=癶ttp://schemas.android.com/apk/res/android"   xmlns:才能工具=癶ttp://schemas.android.com/tools"   android:才能id=癅 + id/activity_sou"   android:才能layout_width=癿atch_parent"   android:才能layout_height=癿atch_parent"   工具:才能上下文=皊izu.nsg.SouActivity"祝辞   EditText & lt;才能   ,,,android: id=癅 + id/app_sou"   ,,,android: layout_width=癿atch_parent"   ,,,android: layout_height=皐rap_content"   ,,,android:提示=八阉鳌?   ,,,/比;   ,& lt;列表视图   ,,,android: id=癅 + id/app_sou_list"   ,,,android: layout_below=癅 id/app_sou"   ,,,android: layout_width=癿atch_parent"   ,,,android: layout_height=癿atch_parent"比;   & lt;才能/ListView>      & lt;/RelativeLayout>

Android如何实现搜索框