基础控件类日常总结

一些基础控件的常用方法, 不定期更新

EditText

  • 限制最大输入数,并Toast提示
editText.setFilters(new InputFilter[]{new MaxTextLengthFilter(length, toastStr)});


class MaxTextLengthFilter implements InputFilter {

        int mMaxLength;
        Toast toast;

        MaxTextLengthFilter(int max, String toastStr) {
            mMaxLength = max;
            toast = Toast.makeText(activity, toastStr, Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER, 0, 0);
        }

        public CharSequence filter(CharSequence source, int start, int end,
                                   Spanned dest, int dstart, int dend) {
            int keep = mMaxLength - (dest.length() - (dend - dstart));
            if (keep < (end - start)) {
                toast.show();
            }
            if (keep <= 0) {
                return "";
            } else if (keep >= end - start) {
                return null;
            } else {
                return source.subSequence(start, start + keep);
            }
        }
    }
  • 进入页面后弹出软键盘
// 曲线救国,进入页面0.5s后(待EditText渲染完成)调出软键盘

        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            public void run() {
                InputMethodManager inputManager = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                inputManager.showSoftInput(editText, 0);
            }
        }, 500);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,961评论 25 709
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,252评论 0 17
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,136评论 3 119
  • 《卡萨布兰卡》-----一场-战争时期的爱情 我们都未曾经历过那些战战兢兢的时光,所以也就从没看到过如此沉重...
    林姝迩阅读 309评论 0 0
  • 当我再一次忘掉两分钟以前把洗衣机的盖子放在哪儿的时候,我清醒地彻底地认识到,我的记忆力,在一个多月没有怎么训练的情...
    洲际海阅读 396评论 2 5

友情链接更多精彩内容