博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搜索页
阅读量:5219 次
发布时间:2019-06-14

本文共 2591 字,大约阅读时间需要 8 分钟。

开发中经常需要为用户提供一个单独的搜索页面,这里做一下记录。

先贴上最终的效果:

1.输入框背景,通过定义drawable实现:

2.布局文件:

3.代码

public class SearchActivity extends BaseActivity implements TextWatcher, TextView.OnEditorActionListener {    private static final String TAG = SearchActivity.class.getSimpleName();    private EditText mEditTextSearch;    private TextView mTextViewDoSearch;    private ImageView mImageViewClear;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        mEditTextSearch.addTextChangedListener(this);        mEditTextSearch.setOnEditorActionListener(this);        mTextViewDoSearch.setOnClickListener(this);        mImageViewClear.setOnClickListener(this);        mEditTextSearch.setInputType(InputType.TYPE_CLASS_NUMBER);    }    @Override    public void initView() {        setContentView(R.layout.activity_search_bed);        mEditTextSearch = (EditText) findViewById(R.id.title_bar_search_et);        mTextViewDoSearch = (TextView) findViewById(R.id.title_bar_right_text);        mImageViewClear = (ImageView) findViewById(R.id.title_bar_iv_clear);    }    @Override    public void beforeTextChanged(CharSequence s, int start, int count, int after) {        Log.d(TAG, "beforeTextChanged()  s==" + s);    }    @Override    public void onTextChanged(CharSequence s, int start, int before, int count) {        Log.d(TAG, "onTextChanged() s==" + s);    }    @Override    public void afterTextChanged(Editable s) {        Log.d(TAG, "afterTextChanged() s==" + s);        String content = s.toString().trim();        if (TextUtils.isEmpty(content)) {            mTextViewDoSearch.setText("取消");            mImageViewClear.setVisibility(View.GONE);        } else {            mTextViewDoSearch.setText("搜索");            mImageViewClear.setVisibility(View.VISIBLE);        }    }    @Override    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {        Log.d(TAG, "onEditorAction() content==" + v.getText());        return false;    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.title_bar_right_text:                if ("取消".equals(((TextView) v).getText().toString())) {                    onBackPressed();                } else {                    //搜索操作                }                break;            case R.id.title_bar_iv_clear:                mEditTextSearch.setText("");                break;        }        super.onClick(v);    }}

 

转载于:https://www.cnblogs.com/hsji/p/5218002.html

你可能感兴趣的文章
优秀员工一定要升职吗
查看>>
[LintCode] 462 Total Occurrence of Target
查看>>
springboot---redis缓存的使用
查看>>
架构图-模型
查看>>
sql常见面试题
查看>>
jQuery总结第一天
查看>>
Java -- Swing 组件使用
查看>>
Software--Architecture--DesignPattern IoC, Factory Method, Source Locator
查看>>
poj1936---subsequence(判断子串)
查看>>
黑马程序员_Java基础枚举类型
查看>>
[ python ] 练习作业 - 2
查看>>
一位90后程序员的自述:如何从年薪3w到30w!
查看>>
在.net core上使用Entity FramWork(Db first)
查看>>
System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集...
查看>>
UIImage 和 iOS 图片压缩UIImage / UIImageVIew
查看>>
MongoDB的数据库、集合的基本操作
查看>>
ajax向后台传递数组
查看>>
疯狂JAVA16课之对象与内存控制
查看>>
[转载]树、森林和二叉树的转换
查看>>
WPF移动Window窗体(鼠标点击左键移动窗体自定义行为)
查看>>