Java 如何在Recyclerview中将毕加索改为Glide

Java 如何在Recyclerview中将毕加索改为Glide,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我有一个带有Textview和Imageview的活动。我曾经用毕加索从Firebase数据库中检索图像。我正在使用Recyclerview和Firebase以及后端。我想将imageview更改为Gifimage view。毕加索不支持Gifimageview,所以我想将毕加索改为Glide。如何在本活动中应用Glide。请帮帮我。对不起,我的英语不好。 这是我的密码 @Override protected void onCreate(Bundle savedInstanceState) {

我有一个带有Textview和Imageview的活动。我曾经用毕加索从Firebase数据库中检索图像。我正在使用Recyclerview和Firebase以及后端。我想将imageview更改为Gifimage view。毕加索不支持Gifimageview,所以我想将毕加索改为Glide。如何在本活动中应用Glide。请帮帮我。对不起,我的英语不好。
这是我的密码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_language_sub);

    

    Toolbar toolbar = findViewById(R.id.LanguageSubToolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle("Chapters");


    if (getSupportActionBar()!=null){

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
    }




    database = FirebaseDatabase.getInstance();
    MCC = database.getReference("LanguageJavaSub");


    recyclerView = (RecyclerView) findViewById(R.id.recycler_LanguageSub);
    recyclerView.setHasFixedSize(true);
    layoutManager = new LinearLayoutManager(this);
    recyclerView.setLayoutManager(new GridLayoutManager(this, 1));


    if (getIntent() != null)
        categoryId = getIntent().getStringExtra("CategoryId");
    if (!categoryId.isEmpty() && categoryId != null) {
        loadListThrillerSubModel(categoryId);
    }
}

private void loadListThrillerSubModel(String categoryId) {

    adapter = new FirebaseRecyclerAdapter<computerSubModel, computerViewHolder>(computerSubModel.class,

            R.layout.language_items,
            computerViewHolder.class,
            MCC.orderByChild("menuid").equalTo(categoryId)) {



        @Override
        protected void populateViewHolder(computerViewHolder viewHolder, final computerSubModel model, int position) {
            viewHolder.thrillername.setText(model.getTitle());

            Picasso.get().load(model.getImage())
                    .into(viewHolder.image1);


            final computerSubModel local = model;
            viewHolder.setItemClickListner(new ItemClickListner() {
                @Override
                public void onClick(View view, int position, boolean isLongClick) {


                    Intent detailsIntent = new Intent(LanguageSubActivity.this, LanguageVideoActivity.class);
                    detailsIntent.putExtra("CategoryId", adapter.getRef(position).getKey());
                    startActivity(detailsIntent);
                }
            });


        }
    };

    recyclerView.setAdapter(adapter);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home)
        finish();
    return super.onOptionsItemSelected(item);
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u language\u sub);
工具栏=findViewById(R.id.LanguageSubToolbar);
设置支持操作栏(工具栏);
getSupportActionBar().setTitle(“章节”);
如果(getSupportActionBar()!=null){
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
database=FirebaseDatabase.getInstance();
MCC=database.getReference(“LanguageJavaSub”);
recyclerView=(recyclerView)findViewById(R.id.recycler\u LanguageSub);
recyclerView.setHasFixedSize(true);
layoutManager=新的LinearLayoutManager(此);
setLayoutManager(新的GridLayoutManager(this,1));
如果(getIntent()!=null)
categoryId=getIntent().getStringExtra(“categoryId”);
如果(!categoryId.isEmpty()&&categoryId!=null){
loadListThrillerSubModel(类别ID);
}
}
私有void loadListThrillerSubModel(字符串类别ID){
适配器=新的FirebaseRecyclerAdapter(computerSubModel.class,
R.layout.language_项,
computerViewHolder.class,
MCC.orderByChild(“menuid”).equalTo(类别ID)){
@凌驾
受保护的void populateViewHolder(computerViewHolder viewHolder,最终computerSubModel模型,int位置){
viewHolder.thrillername.setText(model.getTitle());
Picasso.get().load(model.getImage())
.into(viewHolder.image1);
最终计算机子模型本地=模型;
viewHolder.setItemClickListner(新项目ClickListner(){
@凌驾
公共void onClick(视图、int位置、布尔值isLongClick){
Intent detailsinent=newintent(LanguageSubActivity.this,LanguageVideoActivity.class);
detailsinent.putExtra(“CategoryId”,adapter.getRef(position.getKey());
起始触觉(细节);
}
});
}
};
recyclerView.setAdapter(适配器);
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
if(item.getItemId()==android.R.id.home)
完成();
返回super.onOptionsItemSelected(项目);
}
}使用这个-->

是的,还可以添加依赖项:

build.gradle文件实现

implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
或:

getApplicationContext():返回整个应用程序(所有活动都在其中运行的进程)的上下文

getApplicationContext()或getContext()是android中的内置方法,无需在代码中定义整个实现

是的,还可以添加依赖项:

build.gradle文件实现

implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
或:

getApplicationContext():返回整个应用程序(所有活动都在其中运行的进程)的上下文


getApplicationContext()或getContext()是android中的内置方法,无需在代码中定义整个实现

只需使用
Glide
而不是
Picasso
,如下所示:

Glide.with(context)
                .load(imageUrl)
                .into(imageView)
渐变依赖项如下所示:-

dependencies {
  implementation "com.github.bumptech.glide:glide:4.9.0"
  annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
}
在代码中,您可以使用Glide替换毕加索代码,如下所示:

Glide.with(context)
                .load(imageUrl)
                .into(imageView)
你的毕加索密码:

Picasso.get().load(model.getImage())
                    .into(viewHolder.image1);
 Glide.with(viewHolder.getContext())
                    .load(model.getImage())
                    .into(viewHolder.image1)
使用滑动代码:

Picasso.get().load(model.getImage())
                    .into(viewHolder.image1);
 Glide.with(viewHolder.getContext())
                    .load(model.getImage())
                    .into(viewHolder.image1)

有关更多信息,请检查只需使用
Glide
而不是
Picasso
,如下所示:

Glide.with(context)
                .load(imageUrl)
                .into(imageView)
渐变依赖项如下所示:-

dependencies {
  implementation "com.github.bumptech.glide:glide:4.9.0"
  annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
}
在代码中,您可以使用Glide替换毕加索代码,如下所示:

Glide.with(context)
                .load(imageUrl)
                .into(imageView)
你的毕加索密码:

Picasso.get().load(model.getImage())
                    .into(viewHolder.image1);
 Glide.with(viewHolder.getContext())
                    .load(model.getImage())
                    .into(viewHolder.image1)
使用滑动代码:

Picasso.get().load(model.getImage())
                    .into(viewHolder.image1);
 Glide.with(viewHolder.getContext())
                    .load(model.getImage())
                    .into(viewHolder.image1)
有关更多信息,请查看使用Glide的

第一次在Gradle文件中添加库

implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
您可以在中找到新闻集版本

第二次更改您想要的代码

Glide.with(this)
    .load("image(GIF) url...")
    .into(imageView)
    .asGif();
以你为例,

更改此部分

 Picasso.get().load(model.getImage())
                    .into(viewHolder.image1);

注意]检查更多使用滑翔的选项

第一次在Gradle文件中添加库

implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
您可以在中找到新闻集版本

第二次更改您想要的代码

Glide.with(this)
    .load("image(GIF) url...")
    .into(imageView)
    .asGif();
以你为例,

更改此部分

 Picasso.get().load(model.getImage())
                    .into(viewHolder.image1);


p.s]检查更多选项

还必须为build.gradle文件实现'com.github.bumptech.glide:glide:4.11.0'annotationProcessor'com.github.bumptech.glide:compiler:4.11.0'添加依赖项。我得到了这个答案-glide.with(getContext())-但在我的代码中如何定义(getContext)方法请查看我的编辑…如果您仍然没有得到答案,请告诉我,我可以在此方法中检索jpeg图像,而不使用out.asGif。asGif显示错误。还必须为build.gradle文件实现'com.github.bumptech.glide:glide:4.11.0'annotationProcessor'com.github.bumptech.glide:compiler:4.11.0'添加依赖项。我得到了这个答案-glide.with(getContext())-但在我的代码中如何定义(getContext)方法请查看我的编辑…如果您仍然没有得到答案,请告诉我,我可以在此方法中检索jpeg图像,而不使用out.asGif。asGif显示错误。谢谢兄弟。但是在我的代码中,我如何定义(getContext)方法,例如,在Activity中,
MainActivity。这
和在fragment中,
getActivity()
使用它。但是在我的代码中,我如何定义(getContext)方法呢?例如,在活动中,
MainActivity.this
和在片段中,
getActivity()
使用你可以获得的
viewHolder.getContext()
更新了我的答案请检查其中解释了如何获得你可以获得的上下文更新了我的答案,请检查哪种解释