gpt4 book ai didi

android - 尝试在空对象引用上调用虚拟方法 'android.graphics.Rect android.graphics.drawable.Drawable.getBounds()'

转载 作者:行者123 更新时间:2023-12-05 00:16:35 33 4
gpt4 key购买 nike

我有以下代码:

etEmail.setOnTouchListener((view, motionEvent) -> {
final int DRAWABLE_RIGHT = 2;
if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
if(motionEvent.getRawX() >= (etEmail.getRight() - etEmail.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {
Utils.getInstance().showPopup("...",MainActivity.this,null);
return true;
}
}
return false;
});

虽然通常它似乎有效,但我突然收到一份 crashlytics 报告说:

Attempt to invoke virtual method 'android.graphics.Rect android.graphics.drawable.Drawable.getBounds()' on a null object reference

适用品牌:小米,型号:Redmi Note 6 Pro,Android:9.

这里有没有人知道什么会导致可绘制对象“消失”或被视为 null?

XML 布局:

    <EditText
android:id="@+id/etEmail"
tools:ignore="Autofill"
android:inputType="textEmailAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/ic_info"
android:paddingEnd="12dp"
android:paddingStart="10dp"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />

最佳答案

在你的 xml 中它说 drawableEnd 而在你的代码中你假设它是右边的 drawable。我感觉崩溃发生在使用 RTL 语言的设备上(也就是说,可绘制对象将在左侧)。

关于android - 尝试在空对象引用上调用虚拟方法 'android.graphics.Rect android.graphics.drawable.Drawable.getBounds()',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58354978/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com