本文实例为大家分享了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 sdata;  private MyBase myBase;  private String asou;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_sou);    ButterKnife.bind(this);    sdata=new ArrayList();    appSou.addTextChangedListener(this);    appSou.setOnFocusChangeListener(new View.OnFocusChangeListener() {      @Override      public void onFocusChange(View view, boolean b) {        if(b)        {          appSou.setText("");        }      }    });  }  @Override  public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {  }  @Override  public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {    //获取输入框的值    asou = appSou.getText().toString().trim();      OkHttp3Utils.getInstance().doGet(mUrl + "?keywords=" + asou + "&page=1", new GsonObjectCallback() {        @Override        public void onUi(final MySouFr mySouFr) {          /*适配器*/          if (asou !=null&&!asou.equals("")) {            sdata = mySouFr.getData();            myBase = new MyBase();            appSouList.setAdapter(myBase);            appSouList.setOnItemClickListener(new AdapterView.OnItemClickListener() {              @Override              public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {                Intent intent = new Intent(SouActivity.this, Sou_item_Activity.class);                intent.putExtra("url",mySouFr.getData().get(i).getDetailUrl());                startActivity(intent);//                Toast.makeText(SouActivity.this, "假装你已经点击了哦!", Toast.LENGTH_SHORT).show();              }            });          } else if(myBase!=null) {            sdata.clear();            myBase.notifyDataSetChanged();          }        }        @Override        public void onFailed(Call call, IOException e) {        }      });    }  @Override  public void afterTextChanged(Editable editable) {  }  class MyBase extends BaseAdapter{    @Override    public int getCount() {      return sdata.size();    }    @Override    public Object getItem(int i) {      return sdata.get(i);    }    @Override    public long getItemId(int i) {      return i;    }    @Override    public View getView(int i, View view, ViewGroup viewGroup) {      Vh vh=null;      if(view==null){        view=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);      }else{        vh = (Vh) view.getTag();      }      Log.d("main",sdata.get(i).getTitle());      vh.tv1.setText(sdata.get(i).getTitle());      return view;    }  }  class Vh{    TextView tv1;  }}

activity_sou

<?xml version="1.0" encoding="utf-8"?>      


item_sou

<?xml version="1.0" encoding="utf-8"?>  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. android动画效果_图片闪烁
  2. android mediaPlayer error (-38,0) 解决方法
  3. Android复习笔记(10) -对话框的使用
  4. Android震动与提示音实现代码
  5. Android实现Flip翻转动画效果
  6. 解决 Android(安卓)Studio : minSdkVersion 8 cannot be smaller
  7. android如何限制只能输入指定的字符
  8. Android(安卓)代码片段
  9. Android(安卓)实现Activity后台运行

随机推荐

  1. Android(安卓)——对AsyncTask的理解和注
  2. 12本最棒的Android开发电子书强力推荐
  3. Android访问SQlite实现基本CRUD操作
  4. Android(安卓)如何用HttpClient 以Post方
  5. Android之WebView优化之路
  6. Android(安卓)调试查看内存使用情况
  7. android 魔塔 游戏
  8. android软键盘的用法总结
  9. JavaEye Android 客户端正式发布
  10. Android之UI学习篇六:ImageView实现图片旋