ViewUtil

package com.example.third;

import java.lang.reflect.Field;

import android.app.Activity;
import android.content.Context;
import android.text.InputFilter;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;

public class ViewUtil {

    // 获取编辑框的最大长度,通过反射机制调用隐藏方法
    public static int getMaxLength(EditText et) {
        int length = 0;
        try {
            InputFilter[] inputFilters = et.getFilters();
            for (InputFilter filter : inputFilters) {
                Class<?> c = filter.getClass();
                if (c.getName().equals("android.text.InputFilter$LengthFilter")) {
                    Field[] f = c.getDeclaredFields();
                    for (Field field : f) {
                        if (field.getName().equals("mMax")) {
                            field.setAccessible(true);
                            length = (Integer) field.get(filter);
                        }
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return length;
    }

    public static void hideAllInputMethod(Activity act) {
        // 从系统服务中获取输入法管理器
        InputMethodManager imm = (InputMethodManager) act.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm.isActive()) { // 软键盘如果已经打开则关闭之
            imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
        }
    }

    public static void hideOneInputMethod(Activity act, View v) {
        // 从系统服务中获取输入法管理器
        InputMethodManager imm = (InputMethodManager) act.getSystemService(Context.INPUT_METHOD_SERVICE);
        // 关闭屏幕上的输入法软键盘
        imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
    }

}

 

Process: com.coolapk.market, PID: 32737 java.lang.IllegalArgumentException: cannot use a recycled source in createBitmap at android.graphics.Bitmap.createBitmap(Bitmap.java:988) at Ϝ.Ԫ.Ԩ(IMGView.kt:30) at Ϝ.Ԫ.Ϳ(IMGView.kt:1) at me.minetsh.imaging.view.IMGView.ޖ(IMGView.kt:165) at com.coolapk.market.view.photo.edit.PhotoEditViewModel.ԭ(PhotoEditViewModel.kt:28) at com.coolapk.market.view.photo.edit.PhotoEditActivity.ࢨ(PhotoEditActivity.kt:79) at com.coolapk.market.view.photo.edit.PhotoEditActivity.ࢎ(PhotoEditActivity.kt:1) at com.coolapk.market.view.photo.edit.ԫ.invoke(R8$$SyntheticClass:5) at com.coolapk.market.view.photo.edit.PhotoEditActivity$ԩ.onChanged(PhotoEditActivity.kt:3) at androidx.lifecycle.LiveData.considerNotify(LiveData.java:30) at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:45) at androidx.lifecycle.LiveData.setValue(LiveData.java:16) at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:1) at com.coolapk.market.view.photo.edit.PhotoEditViewModel.ׯ(PhotoEditViewModel.kt:24) at com.coolapk.market.view.photo.edit.PhotoEditCropViewPart.onClick(PhotoEditCropViewPart.kt:53) at com.coolapk.market.util.ˠ.Ϳ(ViewUtil.java:19) at com.coolapk.market.util.ݳ.onClick(R8$$SyntheticClass:3) at android.view.View.performClick(View.java:8177) at android.view.View.performClickInternal(View.java:8143) at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0) at android.view.View$PerformClick.run(View.java:32298) at android.os.Handler.handleCallback(Handler.java:1027) at android.os.Handler.dispatchMessage(Handler.java:108) at android.os.Looper.loopOnce(Looper.java:298) at android.os.Looper.loop(Looper.java:408) at android.app.ActivityThread.main(ActivityThread.java:9952) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:613) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1074) 解释
最新发布
08-22
一个Android基于快速开发的一个框架 xUtils 它是在aFinal基础上进行重构和扩展的框架 相比aFinal有很大的改善 同时 如果如果你的应用是基于网络的 那么只要处理得当 它会让你彻底的摆脱各种工具类和重复代码的困扰 xUtils 包含了很多实用的android工具 xUtils 源于Afinal框架 对Afinal进行了大量重构 使得xUtils支持大文件上传 更全面的http请求协议支持 拥有更加灵活的ORM 更多的事件注解支持且不受混淆影响 xUtils的四大组件: 一 ViewUtils 你受够了重复冗长的findViewById了嘛 你受够了各种监听事件的绑定了嘛 在这里 你只需要一句注解 如@ViewInject @OnClick 就能轻松摆脱小白似的代码 大大的上了一个档次 二 HttpUtils 支持的HTTP七种请求方式 非常便捷的满足你的接口请求的需要 同时还支持大文件上传下载 以及同步异步请求 三 BitmapUtils 你的程序因OOM强制关闭过嘛 你在为加在网络图片头疼嘛 有了组件 你将永久摆脱前面的问题 四 DbUtils 简单易用又出色的ORM框架 真的是谁用谁知道 直接轻松存储各种对象到sqlite数据库中 同时也能非常方便的进行各种条件查询 甚至分页查询 还有对表中数据的更新删除等操作 真正的实现 一行代码就可以进行增删改查 并且可通过注解自定义表名 列名 外键 唯一性约束 NOT NULL约束 CHECK约束等 支持事务 摘自github ">一个Android基于快速开发的一个框架 xUtils 它是在aFinal基础上进行重构和扩展的框架 相比aFinal有很大的改善 同时 如果如果你的应用是基于网络的 那么只要处理得当 它会让你彻底的摆脱各种工具类和重复代码的困扰 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值