android - java.lang.NullPointerException : Argument must not be null at com. bumptech.glide.util

标签 android

我正在使用一个 simplecursortreeadapter 来适应从外部 sqlite 数据库到可扩展 ListView 的数据检索。我正在使用取景器来调整 View 。添加第三个 bloc(glide 在其中)之前的应用程序运行良好..但是在添加 bloc 之后..应用程序停止了。

public class MyViewBinder implements SimpleCursorTreeAdapter.ViewBinder {

@Override
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
    int viewID = view.getId();
    switch(viewID){
        case R.id.group1 :
            TextView groupName = (TextView) view;
            String groupname;
            groupname = cursor.getString(cursor.getColumnIndex(Database.DATABASE_GROUP_1));
            groupName.setText(groupname);
            break;

        case R.id.child1 :
            TextView friendName = (TextView) view;
            String friend_name;
            friend_name = cursor.getString(cursor.getColumnIndex(Database.DATABASE_CHILD_1));
            friendName.setText(friend_name);
            break;


        case R.id.child2 :
            ImageView contactProfile = (ImageView) view;
            byte[] imageBytes = cursor.getBlob(cursor.getColumnIndex(Database.DATABASE_CHILD_2));
            if(imageBytes != null ){
                // Pic image from database
                contactProfile.setImageBitmap(BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length));
            }else {
                // If image not found in database , assign a default image
                contactProfile.setBackgroundResource(0);
            }
            break;

        case R.id.child3 :
            String urls;
            urls = cursor.getString(cursor.getColumnIndex(Database.DATABASE_CHILD_3));
            ImageView url=findViewById(R.id.child3);
            Glide.with(MainActivity.this).load(urls).into(url);
            break;

    }
    return true;
}

构建成功并且应用程序打开但是当我点击某些东西时应用程序停止..这是我的错误消息:

08-01 18:40:20.512 4772-4772/ma.ac.iav.databasewithjava D/AndroidRuntime: Shutting down VM
08-01 18:40:20.585 4772-4772/ma.ac.iav.databasewithjava E/AndroidRuntime: FATAL EXCEPTION: main
    Process: ma.ac.iav.databasewithjava, PID: 4772
    java.lang.NullPointerException: Argument must not be null
        at com.bumptech.glide.util.Preconditions.checkNotNull(Preconditions.java:31)
        at com.bumptech.glide.util.Preconditions.checkNotNull(Preconditions.java:25)
        at com.bumptech.glide.RequestBuilder.into(RequestBuilder.java:651)
        at ma.ac.iav.databasewithjava.MainActivity$MyViewBinder.setViewValue(MainActivity.java:99)
        at android.widget.SimpleCursorTreeAdapter.bindView(SimpleCursorTreeAdapter.java:220)
        at android.widget.SimpleCursorTreeAdapter.bindChildView(SimpleCursorTreeAdapter.java:254)
        at android.widget.CursorTreeAdapter.getChildView(CursorTreeAdapter.java:251)
        at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:451)
        at android.widget.AbsListView.obtainView(AbsListView.java:2372)
        at android.widget.ListView.makeAndAddView(ListView.java:2052)
        at android.widget.ListView.fillDown(ListView.java:786)
        at android.widget.ListView.fillSpecific(ListView.java:1494)
        at android.widget.ListView.layoutChildren(ListView.java:1790)
        at android.widget.AbsListView.onLayout(AbsListView.java:2171)
        at android.view.View.layout(View.java:19590)
        at android.view.ViewGroup.layout(ViewGroup.java:6053)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
        at android.view.View.layout(View.java:19590)
        at android.view.ViewGroup.layout(ViewGroup.java:6053)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:19590)
        at android.view.ViewGroup.layout(ViewGroup.java:6053)
        at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:443)
        at android.view.View.layout(View.java:19590)
        at android.view.ViewGroup.layout(ViewGroup.java:6053)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:19590)
        at android.view.ViewGroup.layout(ViewGroup.java:6053)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
        at android.view.View.layout(View.java:19590)
        at android.view.ViewGroup.layout(ViewGroup.java:6053)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:758)
        at android.view.View.layout(View.java:19590)
        at android.view.ViewGroup.layout(ViewGroup.java:6053)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2484)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2200)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1386)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6733)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
        at android.view.Choreographer.doCallbacks(Choreographer.java:723)
        at android.view.Choreographer.doFrame(Choreographer.java:658)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
        at android.os.Handler.handleCallback(Handler.java:789)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6541)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

这是我正在使用的版本:

implementation 'com.github.bumptech.glide:glide:4.7.1'

annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'

最佳答案

崩溃原因:

ImageView url=findViewById(R.id.child3);
Glide.with(MainActivity.this).load(urls).into(url);

因为url为空; 检查你的“R.id.child3”

关于android - java.lang.NullPointerException : Argument must not be null at com. bumptech.glide.util,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51640394/

相关文章:

android - 适用于 Xamarin.Android 和 Xamarin.iOS 的 native Google Plus 登录

java - 重复代码行的替代方案(Android/Java)

java - 将值传递到第二个布局时遇到问题

android - Statelist 可绘制 android :state_enabled not working in xml

java - 发现名称 : getText 存在冲突的 getter

android - 如何将我的应用程序旋转 180 度倒置旋转设备 180 度倒置?

android - 如何让 ImageSpan 与 TextView 中的其余文本具有相同的高度

android - 如何在 WP7 和 Android(任何库?)之间进行通信

android - 如何在Kotlin中从DeviceAdminReceiver创建 'component'

android - Firebase 动态链接 - 从 Play 商店安装应用程序后无法在 android 中获取 Url