无法显示Firebase中的图像(使用滑动)

时间:2017-03-24 07:44:18

标签: android firebase firebase-storage android-glide

在添加材料设计之前它正在工作,但在更改我的布局后(没有关于imageview的任何更改)我无法显示图像。

public class DownloadFile extends AppCompatActivity {

    ImageView imageview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_download_file);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Wait for the action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
                yukle();
            }
        });


    }

    public void yukle(){
        FirebaseStorage storage = FirebaseStorage.getInstance();
        StorageReference storageRef = storage.getReference();
        StorageReference riversRef = storageRef.child("images/pic.jpg");

        imageview=(ImageView)findViewById(R.id.imageView);


        Glide.with(this)
                .using(new FirebaseImageLoader())
                .load(riversRef)
                .into(imageview);
    }
}

我收到以下错误

03-24 07:41:22.284 22900-22900/com.furkan.profil E/AndroidRuntime: FATAL EXCEPTION: main
                                                               Process: com.furkan.profil, PID: 22900
                                                               java.lang.IllegalArgumentException: You must pass in a non null View
                                                                   at com.bumptech.glide.GenericRequestBuilder.into(GenericRequestBuilder.java:678)
                                                                   at com.bumptech.glide.DrawableRequestBuilder.into(DrawableRequestBuilder.java:448)
                                                                   at com.furkan.profil.DownloadFile.yukle(DownloadFile.java:58)
                                                                   at com.furkan.profil.DownloadFile$1.onClick(DownloadFile.java:40)
                                                                   at android.view.View.performClick(View.java:5198)
                                                                   at android.view.View$PerformClick.run(View.java:21147)
                                                                   at android.os.Handler.handleCallback(Handler.java:739)
                                                                   at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                   at android.os.Looper.loop(Looper.java:148)
                                                                   at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
03-24 07:41:30.213 22900-22994/com.furkan.profil W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.

在Firebase这边是我的规则

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
       allow read: if true;
       allow write: if true;
    }
  }
}

2 个答案:

答案 0 :(得分:0)

当你的stacktrace表明你在Glide中传递的imageview为空时。因此,您在print a == json.loads(json.dumps(a)) 中设置为参数的ID必定是错误的。确保您传递了正确的ID,否则请发布您的xml,以便我们获得更多信息。

答案 1 :(得分:0)

将此行放在onCreate上

imageview=(ImageView)findViewById(R.id.imageView);