介绍
这篇文章主要介绍了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如何实现搜索框